有时,当调整大小或以其他方式处理磁盘上的分区时,cfdisk 会说:
Wrote partition table, but re-read table failed. Reboot to update table.
(这也发生在其他分区工具上,所以我认为这是一个 Linux 问题而不是 cfdisk 问题。)为什么会这样,为什么它只是有时会发生,我能做些什么来避免它?
注意:请假设我实际编辑的分区都没有打开、安装或以其他方式使用。
更新:
cfdisk 用于ioctl(fd, BLKRRPART, NULL)
告诉 Linux 重新读取分区表。到目前为止推荐的其他两个工具 ( hdparm -z
DEVICE
, sfdisk -R
DEVICE
) 的作用完全相同。partprobe
DEVICE
另一方面,该命令似乎使用了一个名为 BLKPG 的新 ioctl,这可能会更好;我不知道。(如果 BLKPG 失败,它也会退回到 BLKRRPART。)
BLKPG 似乎是“此分区已更改;这是新的大小”操作,看起来像是partprobe
在通过的设备上的所有分区上单独调用它,因此如果各个分区未使用,它应该可以工作。但是,我还没有机会尝试。