partprobe 是用于通知内核重新读取分区表的工具,不修改磁盘或格式化分区,仅更新内核缓存的分区布局;执行 sudo partprobe /dev/sdb 可刷新指定磁盘,成功后新分区设备文件立即出现在 /dev/ 下。

当通过 fdisk、parted 等工具修改了磁盘分区表后,内核可能仍沿用旧的分区信息,导致无法立即访问新创建或调整的分区。此时需用 partprobe 主动通知内核重新读取分区表,避免重启或手动重载模块。
partprobe 的基本作用
partprobe 是 util-linux 工具集中的命令,用于向内核发送“重新扫描分区”的请求。它不修改磁盘,也不格式化分区,仅触发内核更新内存中缓存的分区布局。若操作成功,新分区设备文件(如 /dev/sda1)会立刻出现在 /dev/ 下,可直接挂载或使用。
常用用法与注意事项
执行前确保已保存分区表变更(例如在 fdisk 中输入 w 写入),再运行:
- partprobe:无参数时扫描所有已知块设备,适用于多数场景
- partprobe /dev/sdb:只针对指定磁盘刷新分区信息,减少干扰
- 若提示
Warning: Unable to open /dev/sdb read-write,说明设备正被占用(如已挂载或有 LVM 使用),需先卸载或停用相关服务 - 部分系统(如某些云环境或 LVM 物理卷所在磁盘)可能需要配合
kpartx -u /dev/sdb或重启udev规则,但partprobe仍是首选轻量方案
验证是否生效
执行后可通过以下方式确认:
- 运行
ls /dev/sdX*(如ls /dev/sda*)查看新分区设备是否出现 - 用
cat /proc/partitions检查内核识别的分区列表是否更新 - 尝试
blkid /dev/sda1或mount /dev/sda1 /mnt测试可访问性
替代方案与局限性
partprobe 在大多数标准 Linux 发行版中可用,但并非万能:
- 若磁盘使用 GPT 且启用了保护性 MBR,某些旧内核可能需额外加载
efivars模块 - 遇到
BLKRRPART: Device or resource busy错误,说明设备正被占用,不可强制刷新 - 对于 NVMe 设备(如
/dev/nvme0n1),partprobe通常无效,应改用nvme list+nvme rescan或直接触发 udev 事件











