Como restaurar um sistema de arquivos Fat32 no Linux

Como restaurar um sistema de arquivos Fat32 no Linux

Aqui está o que aconteceu:

Usei o Laptop e acessei alguns dados no meu pendrive. Então fechei o laptop colocando o sistema em modo de suspensão. O stick USB ainda estava conectado. Depois que o laptop estava completamente em suspensão, removi o stick (a luz estava apagada, então devia estar sem energia). Acordei o laptop hoje sem o pendrive. Agora, quando eu reconectá-lo, o sistema de arquivos não será montado automaticamente.

Tentei montá-lo manualmente:

chi mnt # mount -t vfat /dev/disk/by-id/usb-JetFlash_Transcend_4GB_QTMFKJQQ-0\:0-part1 usb/
mount: wrong fs type, bad option, bad superblock on /dev/sdb1,
       missing codepage or helper program, or other error
       Manchmal liefert das Syslog wertvolle Informationen – versuchen
       Sie  dmesg | tail  oder so

Fazendo um dmesg | tailencontrei o seguinte:

FAT-fs (sdb1): bogus number of FAT structure
FAT-fs (sdb1): Can't find a valid FAT filesystem

Então tentei fazer fsck.vfatna partição do stick, para ver se de alguma forma consegue consertar:

chi mnt # fsck.vfat /dev/disk/by-id/usb-JetFlash_Transcend_4GB_QTMFKJQQ-0\:0-part1 
dosfsck 3.0.9, 31 Jan 2010, FAT32, LFN
Cluster size is zero.

Existe alguma maneira de reparar o sistema de arquivos no stick usando ferramentas Linux? Estou usando o Gentoo.

Além disso, esse comportamento não deveria ser considerado um bug ou pelo menos perigoso? Remover o stick enquanto o sistema está no modo de suspensão parece um caso de uso comum para mim. Além disso, se você removê-lo, é muito fácil esquecer de colocá-lo de volta antes de ligar o sistema novamente, e não acho que isso deva matar seu sistema de arquivos dessa maneira. Estou disposto a relatar esse bug, mas não sei qual lista de discussão/bugtracker seria a correta.

EDITAR:

Encontrei algumas sugestões online. No entanto, se eu tentar isso usando:

dd if=/dev/disk/by-id/usb-JetFlash_Transcend_4GB_QTMFKJQQ-0\:0-part1 of=sector6.bin bs=512 count=1 skip=6 conv=noerror,sync
dd if=sector6.bin of=/dev/disk/by-id/usb-JetFlash_Transcend_4GB_QTMFKJQQ-0\:0-part1 bs=512 count=1 conv=noerror,sync,notrunc

Ainda recebo o mesmo erro depois. Também tentei usar CHKDSK F: \R \To Windows conforme sugerido por alguns posts, mas essa ferramenta apenas relata a unidade como RAWe, portanto, não é compatível.

Responder1

Antes de fazer qualquer coisa com o pendrive, você deve fazer uma imagem dele:

dd bs=4k of=stick.img if=/dev/disk/by-id/usb-JetFlash_Transcend_4GB_QTMFKJQQ-0\:0

Então você guarda seu stick com segurança e usa o arquivo stick.img para mexer, em vez de destruir mais dados.

Existem arquivos importantes nele? Verificarhttp://www.cgsecurity.org/wiki/PhotoRecpara ferramentas de recuperação. Ele recupera mais do que apenas fotos, ao contrário do que o nome sugere.

Depois de recuperar seus dados, crie um novo sistema de arquivos no pendrive, pois o antigo não será mais confiável para seus dados. (mkfs.vfat)

informação relacionada