Como restaurar um sistema de arquivos Fat32 no Linux

2

Aqui está o que aconteceu:

Eu usei o Laptop e acessei alguns dados no meu pendrive. Então eu fechei o laptop colocando o sistema no modo de suspensão. O pendrive ainda estava conectado. Depois que o laptop estava completamente em repouso, eu removi o Stick (a luz estava desligada, por isso deve ter sido sem energia). Eu acordei o laptop hoje sem o stick USB. Agora, quando eu conectá-lo novamente, o sistema de arquivos não será montado automaticamente.

Eu 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 dmesg | tail , encontrei 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.vfat na partição do gravador, para ver se isso pode ser resolvido de alguma forma:

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 bastão usando ferramentas linux? Eu estou usando o gentoo.

Esse comportamento também não deve ser considerado um bug ou, pelo menos, perigoso? Remover o bastão enquanto o sistema está no modo de suspensão soa como 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 eu não acho que isso deve matar o seu sistema de arquivos como este. Estou disposto a relatar este bug, mas não sei qual lista de discussão / bugtracker seria a correta.

EDITAR :

Encontrei algumas sugestões on-line . 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

Eu ainda recebo o mesmo erro depois. Eu também tentei usar CHKDSK F: \R \T no windows como sugerido por algumas postagens, mas essa ferramenta apenas relata a unidade como RAW e, portanto, não é transportada.

    
por LiKao 24.03.2012 / 15:07

1 resposta

3

Antes de fazer qualquer coisa no 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

Em seguida, você coloca o seu bastão a salvo e usa o arquivo stick.img para fazer seus ajustes, em vez de destruir mais dados.

Existem arquivos importantes? Verifique o link para ferramentas de recuperação. Ele recupera mais do que apenas as fotos, ao contrário do que o nome sugere.

Depois de recuperar os dados, crie um novo sistema de arquivos no dispositivo USB, pois o antigo não poderá mais ser confiável com seus dados. (mkfs.vfat)

    
por 24.03.2012 / 15:43