Saya memberitahu fsck untuk memperbaiki USB stick, ia mengatakan "Membiarkan sistem file tidak berubah."

25

Jadi saya menjalankan fsck, dan ia melaporkan

FATs differ but appear to be intact. Use which FAT ?
1) Use first FAT
2) Use second FAT

Memilih salah satu memberikan daftar panjang seperti kesalahan

Cluster 1471730 out of range (164977891 > 1980013). Setting to EOF.
Cluster 1471732 out of range (252397720 > 1980013). Setting to EOF.
Cluster 1471734 out of range (18601458 > 1980013). Setting to EOF.

Lalu dikatakan,

Reclaimed 93886 unused clusters (769114112 bytes).
Free cluster summary wrong (1034047 vs. really 1221912)
1) Correct
2) Don't correct

Jika saya memilih (1), itu hanya keluar tanpa tindakan:

Leaving file system unchanged.
/dev/sdb1: 53 files, 758100/1980012 clusters

Jadi bagaimana cara memperbaikinya?

Scott C Wilson
sumber

Jawaban:

23

Setelah melepas volume USB, Anda akan ingin menggunakan fsck dengan sakelar '-w' yang memaksa fsck untuk segera menulis perubahan. Perhatikan bahwa '-w' membutuhkan '-a' (mode otomatis) atau '-r' (mode interaktif).


sumber
Saya benar-benar kehilangan -wpilihan! +1
gavenkoa
9

man fsck.vfat mengatakan:

Catatan: Jika -a dan -r tidak ada, sistem file hanya diperiksa, tetapi tidak diperbaiki.

Jadi, untuk membuatnya benar-benar menulis perubahan Anda gunakan -a atau -r. Opsi -w memodifikasi perilaku keduanya.

Gilead
sumber
7

Lihatlah halaman manual fsck. Mungkin coba opsi -r atau tinggalkan -n jika Anda menggunakannya.

Kemungkinan lain adalah bahwa partisi tersebut sepenuhnya penuh. Periksa ini.

Ngomong-ngomong, akan sangat membantu untuk memposting perintah persis yang Anda gunakan.

jfreax
sumber
0

Saya memiliki masalah yang sama. Saya akhirnya berhasil hanya dengan menggunakan perintah dosfsck secara langsung daripada menggunakan fsck (yang hanya pembungkus untuk semua berbagai alat fsck). Saya kira ketika panggilan fsck dosfsck ia menambahkan beberapa opsi yang menyebabkannya gagal berfungsi dengan benar.

pengguna258400
sumber
0

Saya memiliki masalah yang sama, terinspirasi dari jawaban dari user258400 yang saya gunakan langsung:

fsck.fat -r /dev/sde1

dari pada:

fsck -r /dev/sde1

yang berhasil

Marco Kinski
sumber
0

Selain lewat -w -r seperti kata user130302, saya harus menjalankan fsck.vfat dengan partisi yang dipasang sehingga fsck akan dapat menulis cluster yang ditemukan (ke file FSCK000n.REC).

David Faure
sumber