Bozuk bir FAT32 dosya sistemini nasıl onarabilirim


109

Kalem sürücüm için FAT32 dosya sistemini kullanıyorum. Sık sık dosya / veri bozulmalarına sahiptir.

Windows'da, FAT32 / NTFS dosya sistemlerini düzeltmek için tarama diski yardımcı programını kullandım. Bunu Ubuntu'da nasıl yapabilirim?


3
Güvenli bir şekilde çıkarıyor musunuz?
12'de

Yanıtlar:


125

Linux terminalinde aşağıdaki komutu yazmayı deneyin:

sudo dosfsck -w -r -l -a -v -t /dev/sdc1

sdc1 genellikle kalem sürücünüzdür. Kalem sürücünüzü terminale mount yazarak bulabilirsiniz . İçeride bir yerlerde. Bu komut sizin için çok zaman alıyorsa, -t anahtarından kaçının .

  • -w hemen diske yazmak demektir.
  • -retkileşimli olarak disk kontrolü yapmak anlamına gelir (hatalarla karşılaştığınızda ne yapmanız gerektiğini sorun). Dosfsck'ın yeni sürümlerinde bu varsayılandır.
  • -l işlenen dosya adlarının listelenmesi anlamına gelir.
  • -ahataları otomatik olarak düzeltmek anlamına gelir. Muhtemel hataları düzeltme üzerinde daha fazla kontrol sahibi olmak istiyorsanız, kullanmayın.
  • -vayrıntılı mod anlamına gelir. Biraz daha fazla çıktı üretir.
  • -t Okunamayan kümeleri kötü olarak işaretleme anlamına gelir.

Verilerinizi kaybetmediğinizden emin olmak istiyorsanız, önce kaynak cihazın bir yedeğini alın.


Bu komut FAT32 dışında başka hangi dosya sistemini çözebilir?
Shaharil Ahmad

@ShaharilAhmad FAT16, belki de hala kullanılabilir. Örneğin, FAT16 ile mini bir 2GB SD kart aldım.
keiki

Ama yapmazsam, o zaman bir dahaki sefere bir dahaki sefere kötü kümeleri tekrar dener mi?
keiki

"Şu anda yalnızca 1 veya 2 FAT destekleniyor, 0 değil."
Aaron Franke

kullanma -a, ama bana sorduğu soruların yarısını nasıl cevaplayacağımı anlamıyorum!
Michael,

51

Dosfstools bileşeni olan Dosfsck'i deneyebilirsiniz.

Bunun için terminali yazın:

sudo apt-get install dosfstools

Dosfsck'i kullanmak için istediğiniz cihaz adresini belirtmeniz gerekir (Ör. / Dev / sdb1, / dev / sdb2 veya diğer cihaz.).

Cihaz adresinizi bilmek için, terminali açın (CTRL + ALT + T), sonra şu komutu çalıştırın:

mount

Örneğin, bölümünüz / dev / sdb1 ise, önce bu komutu çalıştırarak ayırın:

sudo umount /dev/sdb1

Şimdi bu komutu çalıştırarak bölümünüzü doğrulayabilir ve onarabilirsiniz:

sudo dosfsck -t -a -w /dev/sdb1

Bu yardımcı olur umarım.

Not:

Aşağıdaki hatayı alırsanız, USB flash sürücünüz tanınmazsa:

Error: Buffer I/O error on device sdb1

Bu komutu çalıştırın:

dmesg|tail

Çıktı şuysa:

end_request: I/O error, dev sdb1, sector 0
Buffer I/O error on device sdb1, logical block 0

Bu komutu çalıştırın:

sudo dosfsck -t -a /dev/sdb1

Elbette, yukarıda yazdığım gibi cihaz adresini ihtiyaçlarınıza göre değiştirmelisiniz.



Harici bir HDD ya da kalem sürücünün, onunla işlem yaparken hatalı bir şekilde bağlantısı kesilirse, cihazın neredeyse hiç işe yaramaz hale gelmesi sorunuyla her zaman karşılaştım. Cevabınız bana gönderilen bir tanrı gibi geliyor; çok teşekkürler dostum!
Alfredo Hernández,


4

dosfsck cheatsheet

Bu örnekler FAT32 ve / dev / sdc1 kullanacak

fsck.vfat -n /dev/sdc1 - basit, etkileşimli olmayan salt okunur kontrol

fsck.vfat -a /dev/sdc1 - dosya sistemini kontrol eder ve etkileşimli olmayan şekilde düzeltir. En az yıkıcı yaklaşım her zaman kullanılır.

fsck.vfat -r /dev/sdc1 - etkileşimli tamir. Bir sorunu çözmek için tek bir yaklaşımdan daha fazlası olduğunda, kullanıcı her zaman istenir.

fsck.vfat -l -v -a -t /dev/sdc1 - dosya sistemini etkileşimli olarak kontrol etmenin ve onarmanın çok ayrıntılı bir yolu. -T parametresi okunamayan kümeleri hatalı olarak işaretler, böylece onları yeni oluşturulan dosya ve dizinlerde kullanılamaz hale getirir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.