Partitionstabelle beschädigt (USB-Stick)

9

Es ist ein 8 GB Patriot-USB-Stick, den ich ausgiebig mit vielen Daten verwendet habe. Heute wird es erkannt, aber alle Daten sind weg: ( BEARBEITEN Sie zumindest einige Daten sind noch da, aber die Partitionstabelle ist weg)


EDIT @Sathya (danke) hier ist die relevante Ausgabe von sudo fdisk -l:

Disk /dev/sdc: 8019 MB, 8019509248 bytes
247 heads, 62 sectors/track, 1022 cylinders
Units = cylinders of 15314 * 512 = 7840768 bytes

Disk /dev/sdc doesn't contain a valid partition table

Es sieht so aus, als wäre es / dev / sdc mit diesen 8 GB ... und ohne Partitionstabelle.

Ich habe versucht, / dev / sdc (und dann dmesg | tail) zu mounten :

/media> sudo mount /dev/sdc mytmp
mount: wrong fs type, bad option, bad superblock on /dev/sdc,
       missing codepage or other error
       In some cases useful info is found in syslog - try
       dmesg | tail  or so

/media> dmesg | tail
[   24.300000]  sdc: unknown partition table
[   24.320000] sd 2:0:0:0: Attached scsi removable disk sdc
[   24.370000] usb-storage: device scan complete
[   26.870000] EXT2-fs error (device sdc): ext2_check_descriptors: Block bitmap for group 1 not in group (block 0)!
[   26.870000] EXT2-fs: group descriptors corrupted!
[   50.420000] unhashed dentry being revalidated: .DCOPserver_eeepc-brendanma__0
[   50.430000] unhashed dentry being revalidated: .DCOPserver_eeepc-brendanma__0
[   50.430000] unhashed dentry being revalidated: .DCOPserver_eeepc-brendanma__0
[ 5565.470000] EXT2-fs error (device sdc): ext2_check_descriptors: Block bitmap for group 1 not in group (block 0)!
[ 5565.470000] EXT2-fs: group descriptors corrupted!

EDIT @Col: Ergebnisse von Testdisk

Disk /dev/sdc - 8013 MB / 7642 MiB - CHS 1022 247 62
Current partition structure:
     Partition                  Start        End    Size in sectors

Partition sector doesn't have the endmark 0xAA55

Nachdem ich getroffen habe [proceed], heißt es:

Structure: Ok.


Keys A: add partition, L: load backup, Enter: to continue

Die "Struktur: Ok." scheint beruhigend ... macht "A: Partition hinzufügen" meine alten Daten zugänglich (wenn sie noch vorhanden sind) oder wird eine neue, frische Partition erstellt?

Eine andere Option ist " [ MBR Code ] Write TestDisk MBR code to first sector" - wäre es besser, dies zu tun?


BEARBEITEN Ich habe festgestellt, dass sich zumindest einige meiner Daten noch auf dem Flash-Laufwerk befinden. Verwenden Sie dazu die folgenden Informationen und suchen Sie in weniger nach englischem Text (wie "the"):

cat /dev/sde | tr -cd '\11\12\40\1540-\176' | less

(Das Laufwerk wurde von "/ dev / sdb" in "/ dev / sde" geändert, da ich heute einige zusätzliche Laufwerke angeschlossen habe.) Ich habe gelernt, dass "/ dev / sde1" die erste Partition sein würde; und "/ dev / sde" ist das gesamte Laufwerk. Da Unix diese Geräte wie Dateien behandelt, können Sie alle üblichen Unix-Dateibefehle für sie verwenden catund sie dann wie jeden anderen Datenstrom verarbeiten. Das trobige entfernt nicht druckbare Zeichen ("\ 40" ist Leerzeichen, das ich beibehalten wollte). In weniger können Sie "/" zum Suchen verwenden, ähnlich wie bei Vim.

Wie kann ich meine Daten zurückerhalten (vorausgesetzt, sie sind noch vorhanden)? Wenn nur die Partitionstabelle beschädigt ist, gibt es ein Standard-Tool zur Wiederherstellung von Partitionen? Gibt es eine Möglichkeit zur "Neupartitionierung", ohne alles zu löschen?

13ren
quelle
@ChrisF Diese Antwort funktioniert nicht ... und ich kann dort nicht darauf antworten - also habe ich hier (siehe die Bearbeitung der Frage).
13ren
@ 13ren - Wenn Sie auf beiden Sites dieselbe OpenID verwenden, können Sie Ihre Konten zuordnen. Bitte senden Sie jedoch vorerst eine E-Mail an [email protected] und bitten Sie sie, den Verein zu gründen. Ich habe die beiden Fragen inzwischen zusammengeführt.
BinaryMisfit
1
@ 13ren - Ich weiß, dass du dort nicht antworten kannst. Ich habe den Link für die Moderatoren eingefügt, damit sie die Frage finden können.
ChrisF
Danke ChrisF, sorry ich habe es falsch verstanden. Ich habe eine E-Mail gesendet, wie Sie vorgeschlagen haben. @Diago danke für die Zusammenführung, ich kann jetzt kommentieren. Ich werde sie erneut per E-Mail senden.
13ren
1
Legen Sie das Laufwerk ein und führen Sie eine sudo fdisk -l aus. Können Sie den Beitrag bitte mit der Ausgabe aktualisieren?
Sathyajith Bhat

Antworten:

6

Es kann sich lohnen, testdisk über das Gerät auszuführen. Es hört sich so an, als ob Ihre Partitionstabelle möglicherweise nicht mehr funktioniert. Testdisk sollte in der Lage sein, Ihre Daten wiederherzustellen.

Col.
quelle
@Col danke, aber ich habe keine Testdisk - ich habe es versucht sudo testdiskund man testdisk. Ich habe es gerade apt-get installiert und es erkennt / dev / sdc mit 8 GB (wie der Frage hinzugefügt). Ich möchte nicht weiter vorgehen, bis ich etwas mehr verstehe.
13ren
@Col, ich habe es versucht und die Ergebnisse zur Frage hinzugefügt
13ren
Wenn Sie sich nervös fühlen, kann es sich lohnen, mit dd ein Image des USB-Sticks auf Ihrer Festplatte zu erstellen. Ich denke, dies sollte auch mit einem nicht montierbaren Laufwerk funktionieren, da es Bit für Bit kopiert.
Col
Danke, das ist eine gute Idee! Aber wie kopiere ich eine Datei mit dd? Die Manpage spricht von "Dateien" ... oh, zählt / dev / sdc als "Datei"? Also kann ich einfach das gesamte / dev / sdc in eine Konventionsdatei wie " dd /dev/sdc mybackupfile?
13ren
1
Jetzt habe ich einige Reputationspunkte, damit ich dich abstimmen kann!
13ren
1

Keine Sorge, Ihre Daten sind nicht weg - Sie haben Recht damit, dass die Festplatte nicht gemountet wird, unabhängig davon, was auf der grafischen Oberfläche steht.

Sie können es mounten, indem Sie (als root) etwas tun wie:

mount /dev/sdb1 /media/Patriot\ Memory

Wo ich denke, dass sdb1sich das auf Ihren USB-Stick bezieht - könnte es sein sdc1odersdd1


quelle
Oder sogar sda1, abhängig vom Alter des Computers (dh wenn die darin enthaltenen Festplatten IDE-Festplatten sind)
Matthew Scharley
@ Michael danke - aber es heißt "mount: Kein Medium gefunden". Die Verwendung von sdc1 und sdd1 ergab "mount: spezielles Gerät / dev / sdc1 existiert nicht", was mich denken lässt, dass "sdb1" existiert, aber etwas stimmt nicht. Es hat seit Monaten funktioniert und nichts hat sich geändert, von dem ich weiß - ich fürchte, es ist eine Art Hardwarefehler
13ren
1

Während es möglich ist, die Partitionstabelle neu zu erstellen, sollten Sie dies zuerst tun, um ein Image des Geräts zu erstellen. Sie können dies tun, dd if=/dev/sdb of=~/memstick.imgindem Sie die Pfade nach Bedarf ändern.

Führen Sie anschließend PhotoRec aus , mit dem alle dort befindlichen Dateien abgerufen werden können. Wenn Sie alles haben, was Sie brauchen, formatieren Sie den Stick und starten Sie erneut. Wenn nicht, können Sie eine weitere Datenwiederherstellung versuchen.

Dentrasi
quelle
1

ddrescue ist das Werkzeug, das Sie brauchen. Ich glaube nicht, dass Sie in der Lage sind, die Partitionstabelle zu retten und auf andere Weise auf die Daten zuzugreifen, basierend auf der Ausgabe, die Sie von testdisk usw. gepostet haben .

http://www.forensicswiki.org/wiki/Ddrescue

ddrescue ist ein Datenwiederherstellungstool. Es kopiert Daten von einer Datei oder einem Blockgerät (Festplatte, CD-ROM usw.) auf eine andere und versucht, Daten bei Lesefehlern zu retten.

Die Grundbedienung von ddrescue erfolgt vollautomatisch. Das heißt, Sie müssen nicht auf einen Fehler warten, das Programm stoppen, das Protokoll lesen, es im umgekehrten Modus ausführen usw.

Wenn Sie die Protokolldateifunktion von ddrescue verwenden, werden die Daten sehr effizient gerettet (nur die erforderlichen Blöcke werden gelesen). Sie können die Rettung auch jederzeit unterbrechen und später an derselben Stelle fortsetzen.

Ddrescue schreibt keine Nullen in die Ausgabe, wenn fehlerhafte Sektoren in der Eingabe gefunden werden, und schneidet die Ausgabedatei nicht ab, wenn Sie nicht dazu aufgefordert werden. Jedes Mal, wenn Sie es in derselben Ausgabedatei ausführen, wird versucht, die Lücken zu schließen, ohne die bereits geretteten Daten zu löschen.

Wenn Sie zwei oder mehr beschädigte Kopien einer Datei, eines CD-ROMs usw. haben und ddrescue nacheinander mit derselben Ausgabedatei ausführen, erhalten Sie wahrscheinlich eine vollständige und fehlerfreie Datei. Dies liegt daran, dass die Wahrscheinlichkeit, dass Bereiche an denselben Stellen in verschiedenen Eingabedateien beschädigt werden, sehr gering ist. Mit der Protokolldatei werden nur die benötigten Blöcke aus der zweiten und den aufeinander folgenden Kopien gelesen.

Sam Dunlap
quelle