Manchmal sagt cfdisk, wenn Sie die Größe ändern oder auf andere Weise mit Partitionen auf einer Festplatte herumspielen:
Wrote partition table, but re-read table failed. Reboot to update table.
(Dies geschieht auch mit anderen Partitionierungs-Tools. Ich denke, dies ist eher ein Linux-Problem als ein CFDisk-Problem.) Warum ist das so und warum passiert es nur manchmal und was kann ich tun, um es zu vermeiden?
Hinweis: Bitte nehmen Sie an, dass keine der Partitionen, die ich gerade bearbeite, geöffnet, gemountet oder anderweitig verwendet wird.
Aktualisieren:
cfdisk weist ioctl(fd, BLKRRPART, NULL)
Linux an, die Partitionstabelle erneut zu lesen. Zwei der bisher empfohlenen Tools ( hdparm -z
DEVICE
, sfdisk -R
DEVICE
) machen genau dasselbe. Der partprobe
DEVICE
Befehl scheint dagegen ein neues ioctl mit dem Namen BLKPG zu verwenden, das möglicherweise besser ist. Ich weiß es nicht. (Es greift auch auf BLKRRPART zurück, wenn BLKPG fehlschlägt.)
Bei BLKPG handelt es sich anscheinend um eine Operation "Diese Partition hat sich geändert. Hier ist die neue Größe", die anscheinend für partprobe
alle Partitionen auf dem übergebenen Gerät einzeln aufgerufen wurde. Sie sollte also funktionieren, wenn die einzelnen Partitionen nicht verwendet werden. Ich hatte jedoch nicht die Gelegenheit, es zu versuchen.
man sfdisk
sagt:Since version 2.26 sfdisk no longer provides the -R or --re-read option to force the kernel to reread the partition table. Use blockdev --rereadpt instead.