
Ich habe versehentlich eine 512 Byte große Binärdatei auf die falsche USB-Festplatte geschrieben dd
und das Gerät zeigt keine Partitionen fdisk
mehr an.
Ich dachte, alle Daten wären weg, aber dd if=/dev/sdx | strings
es zeigt sich, dass die Daten anscheinend noch da sind, da dd
sie sich glücklicherweise auf die ersten 512 Bytes beschränkten.Gibt es eine Möglichkeit, es wiederherzustellen??
Die Festplatte hatte zwei Partitionen: eine ext4-Partition (~4 GB) und die restlichen 16 GB waren als NTFS formatiert.
Antwort1
Es hängt davon ab, was vorher genau da war, aber es könnte (relativ) einfach sein, dies wiederherzustellen.
Verwenden Sie es
dd
, um ein vollständiges Image Ihres USB-Laufwerks an einem sicheren Ort zu erstellen.Verwenden Sie es
dd
, um ein vollständiges Image Ihres USB-Laufwerks an einem sicheren Ort zu erstellen.Ja, bitte bewahren Sie ein vollständiges Image auf. Datenwiederherstellungsvorgänge können oft mehr Schaden anrichten, als man erwarten würde.
Versuchen Sie sich zu erinnern, wie das Partitionslayout auf diesem USB-Laufwerk war.Schreib es auf. Es kann hilfreich sein, wenn Sie über Systemprotokolle verfügen, die erstellt wurden, als die Festplatte (bevor sie beschädigt wurde) vom Linux-Kernel erkannt wurde. Häufig werden dabei einige Daten zu den erkannten Partitionen ausgedruckt.
Verwenden Sie fdisk, um den MBR mit derselben Partitionstabelle neu zu erstellen.Keine Partitionen formatieren und/oder fsck ausführen.
Versuchen Sie, Ihre Partitionen mit der schreibgeschützten Option (
-o ro
) zu mountenmount
.Wenn dies gelingt, versuchen Sie, alle Dateien an einen sicheren Ort zu kopieren und achten Sie in Ihrem Terminal und in den Protokollen auf E/A-Fehler. Typischerweise äußern sich Fehler an Partitionsgrenzen durch Out-of-Bound-Zugriffe auf das zugrunde liegende Gerät.
Wenn das Kopieren fehlschlägt, stellen Sie das Image wieder her und gehen Sie zurück zu Schritt 4.
Habe ich erwähnt, dass Sie vor allen anderen Schritten ein vollständiges Image des USB-Laufwerks erstellen müssen?
PS: Vielleicht möchten Sie auch einen Blick auf Tools wie werfenTestDisk, die versuchen, den Wiederherstellungsprozess zu automatisieren. Sie sollten aber trotzdem zuerst ein vollständiges Image erhalten.
PS2: Wenn Sie sich sicher genug fühlen, können Sie auch ein bisschen experimentieren. Wenn Sie eine vernünftige Annahme für den Startpunkt der ersten Partition treffen können, können Sie verwenden, tune2fs -l
um die genaue Größe der ersten Partition zu ermitteln, was Ihnen die Suche nach dem Startpunkt der zweiten Partition ermöglichen würde.
Antwort2
Um die Partition und ihre Daten wiederherzustellen ext4
, dachte ich darüber nach, eine festplattenweite ext4-Partition zu erstellen. Dies ermöglichte mir,Zugriff auf die Datenund rufen Sie Informationen über die Partition mit ab tune2fs -l
, wie von @thkala vorgeschlagen. Diese Informationen scheinen sehr praktikabel und daher unverändert zu sein.
Interessanterweise ist gparted in der Lage, dietatsächliche Partitionsgrößewie aus dieser Warnung hervorgeht, zeigt es:
10,96 GiB nicht zugeordneter Speicherplatz innerhalb der Partition. Um das Dateisystem so zu vergrößern, dass es die Partition füllt, wählen Sie die Partition aus und wählen Sie den Menüpunkt:
weil 11 GiB ungefähr der Größe der NTFS-Partition entsprach.
Beachten Sie den ungenutzten Speicherplatz, der, wenn ich mich recht entsinne, der Speicherplatz war, den ext4 noch frei hatte.nicht zugeordneten Speicherplatzgparted erkennt, dass es sich anscheinend um eine NTFS-Partition handelt.wie kann ich das auch wiederherstellen, vielleicht indem man herausfindet, wo die erste Partition endet, also wie viele Bytes sie insgesamt hat?
EndlichTestDiskhat das mühelos bewältigt.