partprobe用于在不重启系统的情况下通知内核重新读取磁盘分区表,以识别fdisk、parted等工具修改后的分区变更;需指定设备如/dev/sdb执行,配合-s查看摘要、-d调试检查,刷新后方可格式化或挂载新分区。

用 partprobe 刷新分区表,核心就一句话:分区改完后,立刻通知内核重读磁盘分区信息,避免重启。
什么时候必须用 partprobe
当你用 fdisk、parted 或 gdisk 做了以下操作后,系统可能还“看不见”新分区或变更:
- 新建了一个分区(比如
/dev/sdb1) - 删除了某个分区
- 调整了分区起始/结束位置(如扩容或缩小)
- 修改了分区类型(ID)或标签
典型表现是:lsblk、fdisk -l 或 cat /proc/partitions 里没出现新设备节点(如 /dev/sdb1),或者显示的大小还是旧的。这时候不是命令没生效,而是内核还在用缓存的老分区表。
基础用法:指定设备最安全
推荐始终带上具体设备路径,避免影响其他磁盘:
-
sudo partprobe /dev/sdb—— 只刷新sdb的分区表 -
sudo partprobe /dev/nvme0n1—— 刷新 NVMe 盘 -
sudo partprobe /dev/vda—— 刷新虚拟机系统盘
不加设备名(sudo partprobe)会尝试扫描所有块设备,某些老系统或容器环境可能报错或延迟,生产环境慎用。
常用辅助选项
这些选项不触发刷新,但能帮你确认状态是否正常:
-
sudo partprobe -s /dev/sdb—— 显示该设备的分区摘要(类型、数量、大小等),验证分区表结构是否被正确识别 -
sudo partprobe -d /dev/sdb—— 仅检查,不通知内核更新(适合调试,无输出即表示检查通过) -
sudo partprobe -v—— 查看版本,确认工具可用(常见于util-linux包)
刷新后要做什么
partprobe 只解决“内核认不认识分区”,后续步骤需手动完成:
- 等待 1–2 秒,再运行
ls -l /dev/sdX*确认设备节点已生成 - 用
lsblk或blkid查看新分区是否可见、UUID 是否生成 - 格式化:
sudo mkfs.ext4 /dev/sdb1 - 挂载:
sudo mount /dev/sdb1 /mnt/data
注意:如果分区正在被使用(如已挂载或有进程打开文件),partprobe 可能失败并提示 Device or resource busy,需先卸载或停止相关服务。


















