Come riparare un file system FAT32 corrotto


109

Sto usando il file system FAT32 per la mia pen drive. Presenta spesso corruzioni di file / dati.

In Windows, ho usato l'utilità del disco di scansione per correggere i file system FAT32 / NTFS. Come posso farlo in Ubuntu?


3
Espelli in modo sicuro?
ζ--

Risposte:


125

Prova a digitare il seguente comando nel terminale Linux:

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

sdc1 è di solito la tua pen drive. Puoi trovare la tua pen drive digitando mount nel terminale. È da qualche parte dentro. Se quel comando richiede troppo tempo per te, evita -t switch.

  • -w significa scrivere immediatamente sul disco.
  • -rsignifica eseguire il controllo del disco in modo interattivo (chiederti cosa fare in caso di errori). Nelle versioni più recenti di dosfsck questo è il valore predefinito.
  • -l significa elencare i nomi dei file elaborati.
  • -asignifica correggere automaticamente gli errori. Non utilizzarlo, se si desidera avere un maggiore controllo sulla correzione di possibili errori.
  • -vsignifica modalità dettagliata. Genera un po 'più di output.
  • -t significa contrassegnare i cluster illeggibili come non validi.

Se vuoi essere sicuro di non perdere i tuoi dati, crea prima un backup del dispositivo di origine.


Quale altro file system questo comando è in grado di correggere diverso da FAT32?
Shaharil Ahmad,

@ShaharilAhmad FAT16, che forse potrebbe essere ancora utilizzato. Ad esempio ho una mini sd card da 2 GB con FAT16.
keiki,

Ma se non lo faccio -t, la prossima volta prova di nuovo a usare i cluster danneggiati la prossima volta?
keiki,

"Attualmente sono supportati solo 1 o 2 FAT, non 0."
Aaron Franke,

non usare -a, ma non capisco come rispondere a metà delle domande che mi pone!
Michael,

51

Puoi provare Dosfsck, che è un componente di dosfstools.

Per questo, digitare il terminale:

sudo apt-get install dosfstools

Per usare Dosfsck , è necessario indicare l'indirizzo del dispositivo desiderato (es. / Dev / sdb1, / dev / sdb2 o altro dispositivo).

Per conoscere l'indirizzo del dispositivo, aprire il terminale (CTRL + ALT + T), quindi eseguire questo comando:

mount

Se la tua partizione è / dev / sdb1, ad esempio, quindi smontala prima eseguendo questo comando:

sudo umount /dev/sdb1

Ora puoi verificare e riparare la tua partizione eseguendo questo comando:

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

Spero che sia di aiuto.

Nota:

se viene visualizzato il seguente errore, quando l'unità flash USB non viene riconosciuta:

Error: Buffer I/O error on device sdb1

Esegui questo comando:

dmesg|tail

Se l'output è:

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

Esegui questo comando:

sudo dosfsck -t -a /dev/sdb1

Naturalmente, è necessario modificare l'indirizzo del dispositivo in base alle proprie esigenze, come ho scritto sopra.


nel 13.04 la umount sembra funzionare anche senza sudo
giuspen il

Ho sempre riscontrato il problema che se un HDD esterno o una pen drive venissero disconnessi in modo errato durante le operazioni con esso, le autorizzazioni diventerebbero pazze, rendendo il dispositivo praticamente inutile. La tua risposta sembra un dio mandato da me; grazie mille amico!
Alfredo Hernández,


4

cheatsheet di dosfsck

Questi esempi useranno FAT32 e / dev / sdc1

fsck.vfat -n /dev/sdc1 - un semplice controllo di sola lettura non interattivo

fsck.vfat -a /dev/sdc1 - controlla il file system e corregge in modo non interattivo. Viene sempre utilizzato un approccio meno distruttivo.

fsck.vfat -r /dev/sdc1 - riparazione interattiva. All'utente viene sempre richiesto quando esiste più di un singolo approccio per risolvere un problema.

fsck.vfat -l -v -a -t /dev/sdc1 - un modo molto dettagliato di controllare e riparare il filesystem in modo non interattivo. Il parametro -t contrassegna i cluster illeggibili come non validi, rendendoli quindi non disponibili per i file e le directory appena creati.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.