Stellen Sie Dateien aus beschädigten SD-Dateien wieder her

465
Alessandro Jeanteur

Ich habe versagt, als ich versuchte, die Schreibgeschwindigkeit einer SD-Karte mit wichtigen Dateien zu vergleichen.

sync; sudo dd if=/dev/zero of=/dev/sdb1 bs=1M count=1024; sync 1024+0 records in 1024+0 records out 1073741824 bytes (1.1 GB, 1.0 GiB) copied, 23.5386 s, 45.6 MB/s ^C 

Mir wurde klar, dass ich direkt in / dev / sdb1 schrieb, anstatt in eine Datei in der gemounteten Karte zu schreiben. Aus Angst vor dem Überschreiben von Daten habe ich dann abgebrochen, nachdem der Benchmark vorbei zu sein schien (es war nicht der Fall). Jetzt wird es automatisch gemountet, zeigt jedoch nichts an (kann nicht im Datei-Explorer darauf klicken, und gparted zeigt es nur als unbekannte Exfat-Karte an.)

Was kann ich machen?

0
Sie könnten es mit einem Datenwiederherstellungsunternehmen versuchen, um herauszufinden, ob es noch vorhandene Daten aus dem Bereich holen kann, den Sie nicht überschrieben haben. Ich gehe davon aus, dass Sie uns an erster Stelle fragen, weil Sie Ihre Daten nicht für so wichtig gehalten haben, um eine Sicherung zu haben: / Tetsujin vor 5 Jahren 0
Sie können versuchen, Ihre SD-Karte mit einem Hexeditor zu öffnen, der in der Lage ist, Partitionen zu lesen, und sehen, ob noch etwas außer Nullen übrig ist. Wie groß ist deine Karte? Wenn Sie schnell genug waren, haben Sie nur den Start der Partition abgebrochen, aber die meisten Daten sind noch vorhanden. In diesem Fall sollten Sie testdisk zur Wiederherstellung ausprobieren. Daniel Hofer vor 5 Jahren 0
Die Karte war 64 GB und etwa 90% voll. Meine Vermutung ist hoffentlich nur ~ 1 GB der tatsächlichen Daten wurden überschrieben (leider am Anfang der Partition statt im freien Speicherplatz), aber am Ende sind die meisten meiner Daten (die meisten davon sind austauschbar, aber einige Bilder, die ich auch wiederherstellen möchte) . Ich habe mehrere Backups gemacht, aber ungefähr zwei Wochen sind nur da. Wenn Sie die kostenlose Version von EaseUS Data Recovery ausprobieren, werden immer noch viele Dinge angezeigt, aber ich bin mir nicht sicher, ob ich die Wiederherstellung ohne Bezahlung durchführen kann. Scannen noch Alessandro Jeanteur vor 5 Jahren 0
@AlessandroJeanteur Wie ich bereits empfohlen habe: Testdisk (https://www.cgsecurity.org/wiki/TestDisk), ist es ein kostenloses Tool und sollte die richtige Wahl für Ihren Fall sein. Daniel Hofer vor 5 Jahren 0

1 Antwort auf die Frage

1
confetti

Es gibt viele Wiederherstellungsanwendungen, persönlich finde ich das photorecund foremostarbeite am besten. Photorec ist Teil des testdiskPakets, vor allem kann es aus dem foremostPaket installiert werden.

a) Photorec

$ photorec /dev/sdbJetzt einfach ausführen, um die interaktive Schnittstelle von photorec zu öffnen.

Drücken Sie die Eingabetaste ( [Proceed]), um die Festplatte auszuwählen. Im nächsten Bildschirm werden Sie aufgefordert, eine Partition auszuwählen. Wenn photorec die richtigen Partitionen findet, können Sie hier diejenige auswählen, von der Sie die Dateien wiederherstellen möchten. Wenn die Partitionen nicht richtig erkannt werden, wählen Sie einfach die Eingabetaste aus, No partition [Whole disk]und drücken Sie erneut die Eingabetaste, um die Partitionen auszuführen [Search]. Nachdem Sie im nächsten Bildschirm den Dateisystemtyp ausgewählt haben, müssen Sie ein Verzeichnis auswählen, in dem die wiederhergestellten Dateien gespeichert werden sollen. Bestätigen Sie mit C.

b) Vor allem

Während photorec versucht, mithilfe von File-Carving "Datenblöcke" des Laufwerks und der Medien zu finden, macht es in erster Linie etwas anders. Es verwendet immer noch das File-Carving-Konzept, ignoriert jedoch den Typ des zugrunde liegenden Dateisystems und funktioniert direkt, indem es Laufwerkssegmente in Ihren Arbeitsspeicher kopiert, der dann nach Datei-Header-Typen durchsucht wird. Foremost enthält viele integrierte Kopfzeilen, um die meisten gängigen Dateitypen wiederherzustellen. Wenn Sie benutzerdefinierte Kopf- / Fußzeilen hinzufügen möchten, um weniger häufig verwendete Dateitypen zu erkennen, bietet Ihnen diese Möglichkeit in erster Linie die Möglichkeit.

Führen Sie den folgenden Befehl aus, um hauptsächlich die Standardoptionen für das Image auszuführen:

$ foremost -i /dev/sdb -v 

Sie können /dev/sdb1hier verwenden, wenn Sie nur Dateien von dieser Partition wiederherstellen möchten.

Dadurch werden alle wiederhergestellten Dateien gespeichert output(neues Verzeichnis, das in erster Linie erstellt wird). Sie können ein anderes Ausgabeverzeichnis mit dem -oFlag angeben und -aFehler ignorieren / beschädigte Dateien speichern.

Optional: Filtern Sie die wiederhergestellten Dateien

Dies ist optional, aber manchmal interessieren Sie sich nur für bestimmte Dateitypen oder noch schlimmer: Wiederherstellungswerkzeuge geben Ihnen Millionen von Dateien, von denen Tausende wie eine JPEG-Datei erscheinen, in Wirklichkeit handelt es sich jedoch lediglich um eine beschädigte Datei Datei und kein Bild überhaupt. Um diese herauszufiltern, können Sie diese Antwort verwenden, die ich auf eine andere Frage zu SuperUser gegeben habe.


Wie können Sie dies in Zukunft verhindern?

Ich sehe Leute, die ihre Daten ddviel zu oft durcheinander bringen . Es ist einfach zu einfach. Meine Empfehlung:

#!/bin/bash read -r -p "Have you checked at least TWICE if the parameters are correct? [y/N] " response response=$ if [[ "$response" =~ ^(yes|y)$ ]]; then dd "$@" else echo "Better be safe than sorry." fi 

Speichern Sie diesen als /usr/bin/sddoder wie auch immer Sie möchten. chmod +xes danach. Verwenden Sie ab sofort immer sddstatt dd.

Ich empfehle die Verwendung beider Tools auf der gesamten Festplatte, nicht nur auf einer Partition. Dateien, die von `dd` überschrieben wurden, werden dadurch nicht wiederhergestellt, diese sind weg. Es sollte jedoch ohne Probleme alles andere zurückbringen. confetti vor 5 Jahren 0