partprobe 是用于通知内核重新读取分区表的轻量级工具,解决修改分区后内核仍使用旧表的问题;需 root 权限,常用 sudo partprobe /dev/sdb 刷新指定磁盘,支持 -s 查看摘要、-d 调试,不格式化不挂载,仅同步内核分区视图。

修改分区后内核不识别,根本原因不是分区没写成功,而是内核缓存的旧分区表还没更新。partprobe 就是专门解决这个问题的轻量级工具,不用重启,几秒完成同步。
什么时候必须用 partprobe
当你用 fdisk、parted、gparted 等工具完成以下操作并保存(w)后,就必须执行 partprobe:
- 新建或删除了分区(比如新增 /dev/sdb2)
- 调整了现有分区大小(如扩大 /dev/sda1)
- 清空或重新初始化了整块磁盘的分区表
- 执行完命令后看到类似警告:“Re-reading the partition table failed … The kernel still uses the old table”
正确使用方式(带权限和目标)
必须用 root 权限,且推荐明确指定设备,避免影响其他磁盘:
- 刷新单块磁盘(最常用):sudo partprobe /dev/sdb
- 刷新所有磁盘(谨慎用于多盘环境):sudo partprobe
- 仅查看当前识别到的分区摘要(验证是否生效):sudo partprobe -s,输出类似 /dev/sdb: gpt partitions 1 2
- 测试运行不真正刷新(调试用):sudo partprobe -d /dev/sdc
常见失败原因和应对方法
如果执行后仍看不到新分区,先排查这几个关键点:
- 确认分区操作已保存:fdisk 中按 w,parted 中执行 quit,否则磁盘上根本没有变更
- 检查设备是否被占用:运行 lsof /dev/sdb 或 fuser -v /dev/sdb,如有挂载或进程占用,先 umount /dev/sdb1 或终止进程
- 尝试替代命令:sudo partx -a /dev/sdb(对 GPT 或复杂分区更可靠)
- 极少数情况需强制重读:sudo blockdev --rereadpt /dev/sdb
后续操作衔接要点
partprobe 只负责通知内核更新分区视图,它不格式化、不挂载、也不创建文件系统。下一步要做什么,取决于你的目标:
- 要格式化新分区:等 partprobe 完成后,再运行 sudo mkfs.ext4 /dev/sdb2
- 要挂载使用:确保 ls /dev/sdb2 能列出设备节点,再 sudo mount /dev/sdb2 /mnt
- 用于 LVM 扩容:partprobe 刷新后,立即执行 sudo pvresize /dev/sdb1











