Terkadang, ketika mengubah ukuran atau mucking dengan partisi pada disk, cfdisk akan mengatakan:
Wrote partition table, but re-read table failed. Reboot to update table.
(Ini juga terjadi dengan alat partisi lain, jadi saya pikir ini adalah masalah Linux daripada masalah cfdisk.) Mengapa ini, dan mengapa itu hanya terjadi kadang-kadang , dan apa yang bisa saya lakukan untuk menghindarinya?
Catatan: Harap asumsikan bahwa tidak ada partisi yang sedang saya edit yang dibuka, dipasang atau digunakan.
Memperbarui:
cfdisk digunakan ioctl(fd, BLKRRPART, NULL)
untuk memberitahu Linux untuk membaca ulang tabel partisi. Dua alat lain yang direkomendasikan sejauh ini ( hdparm -z
DEVICE
, sfdisk -R
DEVICE
) melakukan hal yang persis sama. The partprobe
DEVICE
perintah, di sisi lain, tampaknya menggunakan ioctl baru yang disebut BLKPG, yang mungkin lebih baik; Saya tidak tahu (Itu juga jatuh kembali pada BLKRRPART jika BLKPG gagal.)
BLKPG tampaknya menjadi operasi "partisi ini telah berubah; ini adalah ukuran baru", dan sepertinya partprobe
disebut secara individual pada semua partisi pada perangkat yang dilewati, jadi itu akan berfungsi jika partisi individual tidak digunakan. Namun, saya belum berkesempatan mencobanya.
man sfdisk
mengatakan: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.