Tidak dapat menyelesaikan peringatan korupsi data dengan fsck

17

Untuk membuat ruang yang bersebelahan agar sistem file saya tumbuh, saya membuat partisi Sistem EFI baru di sda1 sehingga saya bisa memigrasikannya dari partisi saat ini di sda5. Langkah itu sendiri telah berhasil kecuali peringatan yang mengatakan:

kernel: FAT-fs (sda1): Volume tidak di-unmount dengan benar. Beberapa data mungkin rusak. Silakan jalankan fsck.

Saya tidak melihat peringatan yang telah ada di sana selama dua hari ketika saya pertama kali membuat partisi EFI. Saya melepas sistem file dan melakukan pemeriksaan sistem file sebagai berikut:

# umount /dev/sda1
# fsck -V /dev/sda1
fsck from util-linux 2.24
[/sbin/fsck.vfat (1) -- /boot/efi] fsck.vfat /dev/sda1 
fsck.fat 3.0.24 (2013-11-23)
0x25: Dirty bit is set. Fs was not properly unmounted and some data may be corrupt.
1) Remove dirty bit
2) No action
? 1
Leaving filesystem unchanged.
/dev/sda1: 14 files, 2435/51145 clusters

Saya pikir menghapus bit kotor akan menyelesaikan ini. Tapi ternyata tidak. Apa yang seharusnya dilakukan?

Pertanyaan Melimpah
sumber

Jawaban:

26

Ini bodoh. Saya menemukan diri saya menjawab pertanyaan saya sendiri lagi. Ia mengatakan,

Membiarkan filesystem tidak berubah.

menunjukkan bahwa tidak ada yang berubah. Ini sebenarnya berarti bahwa mengetik 1diikuti dengan menekan enterdi dalam prompt fsck tidak berfungsi . Bagaimanapun, berikut ini tidak berfungsi:

# fsck.vfat -v -a -w /dev/sda1

Perintah di atas secara otomatis menulis perubahan ke disk. Alangkah fsckbaiknya jika ada yang bisa memberi tahu saya apakah ini bug atau karena sesuatu yang lain.

Pertanyaan Melimpah
sumber
4
Halaman manual untuk fsck.vfatmenjelaskan bahwa itu hanya menjalankan kering dan tidak mengubah apa pun, kecuali jika Anda memberikan opsi -aatau -r. Hal yang sama berlaku untuk alat cek untuk tipe sistem file lain, meskipun opsi spesifik dapat bervariasi.
Michael Hampton
4
@MichaelHampton, ya memang. Catatan kaki licik mengatakan Note: If -a and -r are absent, the filesystem is only checked, but not repaired.. Mereka yang melihatnya man fscktidak akan pernah tahu: p
Question Overflow
2
@MichaelHampton, ya, tapi tidak ada yang disebutkan tentang dry-run.
Pertanyaan Overflow
1
@MichaelHampton inti di fscksini (pada debian 8.2) tidak hanya tidak membuat yang eksplisit - tetapi juga mengutip dua makna yang bertentangan untuk -rberalih - hanya untuk memperumit hal-hal lebih lanjut ...
underscore_d
1
@underscore_d Tidak bertentangan, hanya membingungkan. Salah satunya adalah fsckopsi umum , yang lain adalah opsi fs-spesifik. Ini muncul setelah --, dan bisa melewati ke alat khusus fs.
Michael Hampton