partprobe通知系统内核重新读取分区表

partprobe 是一个用于通知操作系统内核重新读取分区表的命令行工具。当你使用工具(如 fdiskpartedgdisk)修改了磁盘的分区表后,内核可能不会立即识别这些更改。这时,你可以使用 partprobe 来强制内核重新读取分区表,而无需重启系统。


语法

1
partprobe [选项] [设备]
  • 设备:指定要重新读取分区表的磁盘设备(如 /dev/sda)。如果不指定设备,partprobe 会尝试重新读取所有磁盘的分区表。
  • 选项
    • -d:不更新内核的分区表。
    • -s:显示分区表的摘要信息。
    • -h:显示帮助信息。

使用示例

1. 重新读取指定磁盘的分区表

假设你修改了 /dev/sda 的分区表,可以使用以下命令通知内核重新读取:

1
sudo partprobe /dev/sda

2. 重新读取所有磁盘的分区表

如果不指定设备,partprobe 会重新读取所有磁盘的分区表:

1
sudo partprobe

3. 显示分区表的摘要信息

使用 -s 选项可以显示分区表的摘要信息:

1
sudo partprobe -s

输出示例:

/dev/sda: gpt partitions 1 2 3
/dev/sdb: msdos partitions 1 2

4. 不更新内核的分区表(仅测试)

使用 -d 选项可以让 partprobe 不更新内核的分区表,仅测试操作:

1
sudo partprobe -d /dev/sda

注意事项

  1. 权限partprobe 需要 root 权限,因此通常需要使用 sudo
  2. 适用范围partprobe 适用于大多数情况,但在某些情况下(如正在使用的分区),可能需要重启系统才能生效。
  3. 替代命令:在某些系统中,partxkpartx 也可以用于类似的目的。

常见问题

1. 修改分区表后,为什么需要运行 partprobe

当你修改分区表后,内核可能不会立即识别这些更改。运行 partprobe 可以通知内核重新读取分区表,使更改生效。

2. partprobepartx 有什么区别?

  • partprobe 是一个更通用的工具,适用于大多数情况。
  • partx 是一个更底层的工具,可以更精细地控制分区表的更新。

3. 如果 partprobe 无效怎么办?

如果 partprobe 无法使更改生效,可以尝试以下方法:

  • 卸载相关分区并重新挂载。
  • 重启系统。