fdisk分区后内核未识别新分区是因分区表已写入但内核缓存未刷新;需用partprobe、blockdev或rescan触发重读,失败时检查设备占用、扇区对齐及GPT兼容性。

fdisk 分区后内核未识别新分区,本质是分区表已写入磁盘但内核的分区缓存未刷新。这不是 fdisk 失败,而是内核仍按旧分区视图管理设备。
确认是否真的未同步
运行 cat /proc/partitions 或 ls /sys/block/sdX/(X 为盘符),查看输出中是否有新增的 sda1、sda2 等子设备。若没有,说明内核尚未加载新分区信息;若有,问题可能出在文件系统或挂载环节。
手动触发内核重读分区表
有三种常用方式,按推荐顺序:
- partprobe /dev/sdX:最常用,无需卸载,多数情况立即生效(需安装 util-linux)
- blockdev --rereadpt /dev/sdX:更底层,不依赖额外工具,适合最小化系统
- echo 1 > /sys/block/sdX/device/rescan:强制 SCSI 层重新探测整块盘(会短暂阻塞 I/O,慎用于生产盘)
常见失败原因与应对
如果上述命令无报错但仍不识别:
- 目标盘正被使用(如已挂载某分区、LVM 正在扫描、mdadm 正在组装)→ 先 umount、vgscan -v、mdadm --stop 等释放占用
- 分区起始扇区未对齐(尤其在旧 BIOS 模式下用非 2048 扇区对齐)→ fdisk 中执行 u 切换单位为扇区,用 print 检查 Start 值是否为 2048 的整数倍
- 磁盘使用了 GPT 且内核版本过低(
验证与后续操作
同步成功后,立刻执行 lsblk 或 fdisk -l /dev/sdX 确认分区列表更新。若需格式化,务必使用完整路径如 mkfs.ext4 /dev/sda1;若要挂载,确保 /dev/sda1 已存在再操作,否则提示 “No such file or directory” 是典型同步未完成的表现。











