Magic Rescue

Magic Rescue

Gelöschte Dateien wieder sicher unter Linux herstellen.

Informationen

Es gibt unter Linux viele Anwendungen mit denen man gelöschte Daten wieder herstellen kann, auf der Linux Bibel finden Sie beispielsweise bereits Testdisk und Photorec, Magic Rescue ist um einiges jüngere und modernere Software als die bereits genannte und arbeitet auch etwas schneller.

Die Software sucht unter allen Dateisystemen (auch unter NTFS und FAT / Windows) nach Mustern von Dateien die in jedem Header einer Datei vorhanden sind - retten kann die Software natürlich (wie alle anderen Anwendungen auch) nur Datei-Formate die die Software auch kennt, dazu zählen jedoch die meisten bekannten.

Wichtig ist es wenn man Dateien gelöscht hat die man noch benötigt sofort zu handeln, keine weiteren Dateien anlegen, speichern oder weitere Software zu installieren da sonst die Gefahr besteht den vom Dateisystem frei gegebenen Platz - also die zwar nicht mehr sichtbaren aber noch vorhandenen Daten überschreibt. Am besten nutzt man ein Live-System oder man hat die Software zur Datenrettung bereits installiert.

Zu den der Software bekannten Dateiformate gehören Microsoft Office-Dateien aber auch solche von Star Office, verschiedene Archiv-Formate, viele Bild-Formate aber auch Videos, Audio-Formate oder auch SQL-Datenbanken.

Magic Rescue installieren

Unter auf Debian basierenden Systemen wie Ubuntu, Kubuntu, Linux Mint und so weiter installieren Sie diese Software ganz einfach über die Paket-Verwaltung durch die Pakete "magicrescue gddrescue".

Magic Rescue nutzen

Am besten nutzt man zur Rettung von Daten - auch etwa von einer Festplatte die dabei ist den Geist aufzugeben eine weitere Festplatte oder einen externen Datenträger - wie schon beschrieben um nicht zu rettende Daten eben während der Rettung zu überschreiben. Gleich einmal zu Beginn - die Software wird nur vom Administrator auf dem Terminal genutzt, in meinem Beispiel liegen die zu rettenden Daten auf der Festplatte "/dev/sda".

Um einen möglichen defekten Datenträger zu schonen legt man sich ein Backup der Festplatte oder eben des jeweiligen Datenträgers (Festplatte, USB-Stick, externe Festplatte, Speicherkarte, ...) auf einem anderen Datenträger an - dies gilt natürlich auch dann wenn der Datenträger noch voll funktionsfähig ist um nicht zu rettende Dateien zu überschreiben. Also legen wir ein solches Backup nun an:

ddrescue /dev/sda /dev/sdc1/sda_backup.img

In diesem Beispiel landet also das Backup der Festplatte "/dev/sda" auf einem eventuellen externen Datenträger "/dev/sdc1" mit dem Dateinamen "sda_backup.img". Der Datenträger der das Backup aufnehmen soll muss natürlich mindestens so groß sein wie der Datenträger von dem man Dateien retten möchte.

Nun können wir von diesem Backup mit Magic Rescue unsere gelöschten Daten retten. Die Software nutzt so genannte Rezepte um Dateien zu retten, für jedes der Software bekannte Dateiformat gibt es ein solches, diese finden wir nach der Installation der Software im Verzeichnis "/usr/share/magicrescue/recipes/" (unter anderen Distributionen wie auf Debian basierenden finden sich diese manchmal auch unter "/usr/local/share/magicrescue/recipes/"):

Magic Rescue - Gelöschte Dateien unter Linux wieder herstellen

Magic Rescue - Gelöschte Dateien unter Linux wieder herstellen

In meinem Beispiel habe ich mir wichtige Bild-Dateien im JPG(JPEG)-Format gelöscht, hier finden sich zwei Rezepte namens "jpeg-exif jpeg-jfif", welches man nutzt ist eigentlich egal (eine gute Beschreibung zum jeweiligen Rezept finden Sie indem Sie einfach das jeweilige Rezept mit einem beliebigen Texteditor öffnen:

Magic Rescue - Gelöschte Dateien unter Linux wieder herstellen

Magic Rescue - Gelöschte Dateien unter Linux wieder herstellen

Damit die Software die genannten Dateien retten kann müssen diverse Zusatz-Programme installiert sein, welche diese sind findet sich in jeder Beschreibung des jeweiligen Rezeptes unter dem Eintrag "# Depends on ..." - unter auf Debian basierenden Systemen werden diese automatisch installiert - dies muss jedoch nicht bei allen Distributionen der Fall sein.

Nun wollen wir meine gelöschten JPG-Dateien vom erstellten Backup retten, in meinem Beispiel in das Verzeichnis "/dev/sdb1/Verzeichnis-zur-Rettung":

magicrescue -r jpeg-exif -d /dev/sdb1/Verzeichnis-zur-Rettung/ /dev/sdc1/sda_backup.img

Die Syntax lautet also:

magicrescue -r Rezept -d /Pfad/zum/Speichern/der/Dateien/ /Pfad/zur/Backup-Datei

Man kann auch mehrere Rezepte zur Rettung angeben - etwa weil man ein komplettes Verzeichnis mit mehreren Datei-Formaten gelöscht hat, etwa:

magicrescue -r jpeg-exif -r jpeg-jfif -r msoffice -d /dev/sdb1/Verzeichnis-zur-Rettung/ /dev/sdc1/sda_backup.img

Will man kein Backup anlegen - etwa weil man gelöschte Daten von einem USB-Datenträger löschen will gibt man einfach die entsprechende Partition an - etwa für "/dev/sdc1", die Daten will ich einfach in meinem Home-Verzeichnis unter "Gerettete Daten" speichern:

magicrescue -r jpeg-exif -r jpeg-jfif -r msoffice -d /home/robert/Gerettete-Daten/ /dev/sdc1

Die Software liest nun zu Beginn einfach einmal die komplette Backup-Datei ein was je nach deren Größe etwas dauern kann und beginnt dann die Daten zu retten und im angegebenen Verzeichnis zu speichern. Der Vorgang lässt sich jederzeit unterbrechen mit der Tastenkombination Strg + c, um den Vorgang an der abgebrochenen Stelle fort zu führen geben Sie den selben Befehl an - hängen aber zusätzlich die Option "-O" (nicht die Zahl Null sondern das große O) an - etwa:

magicrescue -O -r jpeg-exif -r jpeg-jfif -r msoffice -d /home/robert/Gerettete-Daten/ /dev/sdc1

Die Software zeigt während der Rettung die geretteten Dateien an, geschieht dies nicht sondern die Ausgabe lautet:

Command not found

brechen Sie den Vorgang ab, lesen Sie sich wie oben beschrieben das jeweilige Rezept durch und installieren die geforderte Software, starten die oben den Befehl komplett neu.

Da die Software nicht weis welche Dateien Sie wirklich löschen wollten und welche nicht werden bei der Rettung sehr viele Dateien auftauchen, vor allem wenn es sich um verschiedene Datei-Formate handelt wird hier ein ziemliches Wirrwarr entstehen - um diese Datei-Formate in Verzeichnisse zu sortieren hilft das kleine integrierte Werkzeug Magicsort, ich führe dieses Tool ganz einfach mit der Angabe des Verzeichnisses aus in dem die geretteten Dateien liegen:

magicsort /home/robert/Gerettete-Daten/

Auch doppelte Dateien werden sich in solchen Fällen nicht verhindern lassen - hier hilft das ebenfalls integrierte Tool Dupemap:

dupemap delete,report /home/robert/Gerettete-Daten/

Dabei werden Duplikate gelöscht und die Software berichtet über solche auch.

Eigene Rezepte

Findet sich für ein gewünschtes Datei-Format kein passendes Rezept kann man solche selbst erstellen oder von anderen Nutzern bereit gestellte nutzen. Hier einmal gleich ein Rezept für MP4-Dateien - für MPEG-Dateien, man erstellt sich einfach eine Textdatei und benennt diese etwa ganz einfach mit dem Namen "mp4" und kopiert die Datei in das Rezepte-Verzeichnis der Software, das Rezept nennt sich in diesem Beispiel dann einfach "mp4".

Beim erstellen von eigenen Rezepten hilft die Manpage mit dem Befehl:

man magicrescue