So stellen Sie ein Fat32-Dateisystem unter Linux wieder her

So stellen Sie ein Fat32-Dateisystem unter Linux wieder her

Folgendes ist passiert:

Ich habe den Laptop benutzt und auf einige Daten auf meinem USB-Stick zugegriffen. Dann habe ich den Laptop geschlossen und das System in den Ruhemodus versetzt. Der USB-Stick war noch eingesteckt. Nachdem der Laptop vollständig im Ruhemodus war, habe ich den Stick entfernt (das Licht war aus, also muss er ohne Strom gewesen sein). Ich habe den Laptop heute ohne den USB-Stick aufgeweckt. Wenn ich ihn jetzt wieder einstecke, wird das Dateisystem nicht automatisch gemountet.

Ich habe versucht, es manuell zu mounten:

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

Dabei dmesg | tailhabe ich Folgendes herausgefunden:

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

fsck.vfatAlso habe ich versucht , dies mit der Partition des Sticks zu tun , um zu sehen, ob sich das Problem dadurch irgendwie beheben lässt:

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.

Gibt es eine Möglichkeit, das Dateisystem auf dem Stick mit Linux-Tools zu reparieren? Ich verwende Gentoo.

Sollte dieses Verhalten nicht auch als Fehler oder zumindest als gefährlich angesehen werden? Das Entfernen des Sticks, während sich das System im Ruhemodus befindet, klingt für mich nach einem häufigen Anwendungsfall. Wenn Sie ihn entfernen, können Sie außerdem sehr leicht vergessen, ihn wieder einzulegen, bevor Sie das System wieder einschalten, und ich denke nicht, dass dies Ihr Dateisystem auf diese Weise zerstören sollte. Ich bin bereit, diesen Fehler zu melden, weiß aber nicht, welche Mailingliste/welcher Bugtracker der richtige wäre.

BEARBEITEN:

Ich habe online einige Vorschläge gefunden. Wenn ich dies jedoch versuche mit:

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

Ich erhalte danach immer noch denselben Fehler. Ich habe auch versucht, es CHKDSK F: \R \Tunter Windows zu verwenden, wie in einigen Beiträgen vorgeschlagen, aber dieses Tool meldet das Laufwerk nur als RAWund somit nicht unterstützt.

Antwort1

Bevor Sie irgendetwas mit dem USB-Stick machen, sollten Sie ein Image davon erstellen:

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

Dann legen Sie Ihren Stick sicher weg und verwenden die Datei stick.img für Ihre Manipulationen, anstatt noch mehr Daten zu zerstören.

Sind wichtige Dateien darauf? Überprüfen Siehttp://www.cgsecurity.org/wiki/PhotoRecfür Wiederherstellungstools. Anders als der Name vermuten lässt, stellt es mehr als nur Fotos wieder her.

Sobald Sie Ihre Daten wiederhergestellt haben, erstellen Sie ein neues Dateisystem auf dem USB-Stick, da dem alten Ihre Daten nicht mehr anvertraut werden können. (mkfs.vfat)

verwandte Informationen