我正在尝试在 debian 8 上使用 sfdisk 扩展分区。我正在运行以下命令:
sfdisk -H 255 -S 63 --quiet --Linux --leave-last -uM --force --no-reread /dev/md1 -N4 < /tmp/abc
当我运行命令时,出现以下错误:
Successfully wrote the new partition table
Re-reading the partition table ...
sfdisk: BLKRRPART: Device or resource busy
sfdisk: The command to re-read the partition table failed.
Run partprobe(8), kpartx(8) or reboot your system now,before using mkfs
sfdisk: If you created or changed a DOS partition, /dev/foo7, say, then use dd(1) to zero the first 512 bytes: dd if=/dev/zero of=/dev/foo7 bs=512 count=1 (See fdisk(8).)
为什么当我提到的时候会发生重读--no-reread
?我sfdisk
在 util-linux 2.25.2上运行它。当我从 sfdisk (util-linux-ng 2.17.2) 运行相同的命令时sfdisk
,我没有遇到此错误。导致此错误发生的两者之间是否有任何差异?
答案1
该--no-reread
选项指示sfdisk
不检查设备是否正在使用(例如安装或交换)。
您得到的错误来自于sfdisk
告诉核心分区信息已更改;内核响应“嘿,该设备已在使用中;我不会读取新的分区数据”。
所以现在分区数据的内核副本与磁盘上的实际数据不同。
如果没有--no-reread
then 根本sfdisk
不会让你进行分区。