partprobe通知系统内核重新读取分区表
partprobe 是一个用于通知操作系统内核重新读取分区表的命令行工具。当你使用工具(如 fdisk、parted 或 gdisk)修改了磁盘的分区表后,内核可能不会立即识别这些更改。这时,你可以使用 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 |
注意事项
- 权限:
partprobe需要 root 权限,因此通常需要使用sudo。 - 适用范围:
partprobe适用于大多数情况,但在某些情况下(如正在使用的分区),可能需要重启系统才能生效。 - 替代命令:在某些系统中,
partx或kpartx也可以用于类似的目的。
常见问题
1. 修改分区表后,为什么需要运行 partprobe?
当你修改分区表后,内核可能不会立即识别这些更改。运行 partprobe 可以通知内核重新读取分区表,使更改生效。
2. partprobe 和 partx 有什么区别?
partprobe是一个更通用的工具,适用于大多数情况。partx是一个更底层的工具,可以更精细地控制分区表的更新。
3. 如果 partprobe 无效怎么办?
如果 partprobe 无法使更改生效,可以尝试以下方法:
- 卸载相关分区并重新挂载。
- 重启系统。