Login
Newsletter
Werbung

Mi, 28. Mai 2014, 15:00

Retten von verlorenen Daten mit PhotoRec

Das Programm PhotoRec kann versehentlich gelöschte Dateien, aber auch Dateien von defekten Datenträgern retten. Anders als sein Name suggeriert, ist es nicht auf Bilder beschränkt, sondern für Dateien aller Art geeignet.

Christophe Grenier

Ein fehlgeschlagenes Experiment mit Btrfs und einem Dateisystem-Cache mit dm-cache resultierten im unerwarteten Verlust einer rund 2,2 TB großen, gut gefüllten Partition. Die Hauptschuld ist dabei dm-cache anzulasten: Ich wollte noch einmal Performance-Messungen des Dateisystems ohne dm-cache machen, doch das Btrfs-Dateisystem wollte sich nach Abschalten des Caches nicht mounten lassen. Im Glauben, dass alle Daten, die im Cache liegen, auch im Dateisystem vorhanden sind, löschte ich dann den Cache, was sich als fataler Fehler herausstellte. Denn anscheinend hatten es einige Daten doch nicht aus dem Cache ins Btrfs geschafft. Das Resultat war ein so gründlich zerstörtes Btrfs, dass sich selbst mit den Werkzeugen btrfs-debug-tree und btrfs-find-root nichts mehr rekonstruieren ließ.

Auswahl des Gerätes

Hans-Joachim Baader

Auswahl des Gerätes

Nun ist mir natürlich klar, dass man keine wertvollen Daten auf experimentellen Dateisystemen halten sollte. Daher waren rund drei Viertel der Daten, darunter meine virtuellen Maschinen, gesichert und leicht wieder herzustellen. Der Rest war ersetzbar. Bei einigen Audio-Dateien, die ich zur Bearbeitung hier zwischengespeichert hatte, wollte ich jedoch einmal versuchen, nebenher PhotoRec auf die Partition loszulassen, um vielleicht etwas Arbeit bei der Wiederherstellung zu sparen.

PhotoRec wurde, wie der Name andeutet, ursprünglich in erster Linie zum Retten von gelöschten Bildern aus dem Speicher von Digitalkameras geschrieben. Es kann inzwischen aber auch viele andere Dateitypen wiederherstellen, einige hundert sind bereits eingebaut. PhotoRec macht sich zunutze, dass die Daten oftmals lückenlos hintereinandergeschrieben werden, zumindest auf Linux-Dateisystemen. Es sucht daher Sektor für Sektor nach bekannten Datei-Headern. Erkennt es einen solchen, versucht es, die ganze Datei aus den anschließenden sektoren auslesen. Es agiert völlig unabhängig vom Dateisystem und kommt daher mit allen Dateisystemen zurecht, auch mit zerstörten, neu formatierten usw. Auch versehentlich gelöschte Dateien kann PhotoRec wieder herstellen.

PhotoRec kann im Quellcode oder als Bestandteil von Testdisk heruntergeladen werden. Den Quellcode sollte man mit folgender Sequenz compilieren können, wie auf der Entwicklerseite von Testdisk erklärt wird:

cd testdisk
mkdir config
autoreconf --install -W all -I config
./configure
make

Das scheiterte bei mir am configure, das mit einer Fehlermeldung endete. Aber es gibt auch Binärpakete von Testdisk. Entpackt man dieses Paket, so kann man PhotoRec installieren, aber es geht auch ohne Installation. Man kann es einfach nutzen mit

cd testdisk-6.14
./photorec_static

Das Programm bringt eine Terminal-Oberfläche, in der man zunächst die Partition oder Image-Datei auswählt, die man durchsuchen will. Dann wählt man, ob das Dateisystem zur Familie ext2/ext3/ext4 gehört oder ein anderes ist. Nachdem man noch das Zielverzeichnis gewählt hat, das ausreichend Platz bieten muss, kann man die Suche starten. Gefundene Dateien werden in den Verzeichnissen recup_dir.0, recup_dir.1 usw. abgelegt. Nach jeweils 1000 gefundenen Dateien legt PhotoRec ein neues Verzeichnis mit einer um 1 erhöhten Nummer an.

Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung