Como reparar um sistema de arquivos FAT32 corrompido


109

Estou usando o sistema de arquivos FAT32 no meu pen drive. Freqüentemente possui arquivos / dados corrompidos.

No Windows, usei o utilitário de verificação de disco para corrigir os sistemas de arquivos FAT32 / NTFS. Como posso fazer isso no Ubuntu?


3
Você ejeta com segurança?
ζ--

Respostas:


125

Tente digitar o seguinte comando no terminal Linux:

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

sdc1 é geralmente o seu pen drive. Você pode encontrar seu pen drive digitando mount no terminal. Está em algum lugar lá dentro. Se esse comando demorar muito para você, evite a opção -t .

  • -w significa gravar no disco imediatamente.
  • -rsignifica fazer a verificação do disco interativamente (pergunte o que fazer quando encontrar erros). Nas versões mais recentes do dosfsck, esse é o padrão.
  • -l significa listar os nomes de arquivos processados.
  • -asignifica corrigir automaticamente erros. Não use se você deseja ter mais controle sobre como corrigir possíveis erros.
  • -vsignifica modo detalhado. Gera um pouco mais de saída.
  • -t significa marcar grupos ilegíveis como ruins.

Se você quiser ter certeza de não perder seus dados, primeiro crie um backup do dispositivo de origem.


Que outro sistema de arquivos esse comando conseguiu corrigir além do FAT32?
Shaharil Ahmad

@ ShaharilAhmad FAT16, que talvez ainda seja usado. Por exemplo, recebi um mini cartão SD de 2GB com FAT16.
315 keiki

Mas se eu não fizer isso, na próxima vez que tentar novamente usar os clusters ruins da próxima vez?
315 keiki

"Atualmente, apenas 1 ou 2 FATs são suportados, não 0."
Aaron Franke

não use -a, mas não entendo como responder metade das perguntas que isso me faz!
Michael

51

Você pode experimentar o Dosfsck, que é um componente do dosfstools.

Para isso, digite o terminal:

sudo apt-get install dosfstools

Para usar o Dosfsck , é necessário indicar o endereço do dispositivo desejado (por exemplo, / dev / sdb1, / dev / sdb2 ou outro dispositivo).

Para saber o endereço do seu dispositivo, abra o terminal (CTRL + ALT + T) e execute este comando:

mount

Se sua partição for / dev / sdb1, por exemplo, desmonte-a primeiro executando este comando:

sudo umount /dev/sdb1

Agora você pode verificar e reparar sua partição executando este comando:

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

Espero que isto ajude.

Nota:

se você receber o seguinte erro, quando sua unidade flash USB não for reconhecida:

Error: Buffer I/O error on device sdb1

Execute este comando:

dmesg|tail

Se a saída for:

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

Execute este comando:

sudo dosfsck -t -a /dev/sdb1

Obviamente, você deve alterar o endereço do dispositivo de acordo com suas necessidades, como escrevi acima.


em 13,04 o umount parece funcionar também sem sudo
giuspen

Eu sempre encontrei o problema de que, se um HDD ou pen drive externo fosse desconectado incorretamente ao fazer operações com ele, as permissões ficariam loucas, tornando o dispositivo praticamente inútil. Sua resposta parece enviada por Deus para mim; valeu mesmo, cara!
Alfredo Hernández


4

cheatsheet dosfsck

Estes exemplos usarão FAT32 e / dev / sdc1

fsck.vfat -n /dev/sdc1 - uma verificação somente leitura não interativa simples

fsck.vfat -a /dev/sdc1 - verifica o sistema de arquivos e corrige de forma não interativa. A abordagem menos destrutiva é sempre usada.

fsck.vfat -r /dev/sdc1 - reparo interativo. O usuário sempre é solicitado quando há mais de uma abordagem única para corrigir um problema.

fsck.vfat -l -v -a -t /dev/sdc1 - uma maneira muito detalhada de verificar e reparar o sistema de arquivos de maneira não interativa. O parâmetro -t marcará os clusters ilegíveis como incorretos, tornando-os indisponíveis para arquivos e diretórios criados recentemente.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.