Mit Linux

Festplatte defekt - Datenrettung wie die Profis

12.12.2015
Von David Wolski
Unnachgiebig nagt der der Zahn der Zeit an Datenträgern. Unter Linux gibt es bewährte Hausmittel, um Dateien behutsam von schadhaften Datenträgern zu retten, ohne dabei das Dateisystem weiter in Mitleidenschaft zu ziehen.

Alle Linux-Distributionen bieten ein ganzes Arsenal an Tools, die sich zur Datenrettung bei defekten Dateisystemen eignen. Dabei gilt es, mit den Reparaturaktionen direkt am Datenträger den Schaden nicht noch zu vergrößern. Je nach Schwere des Defekts sind bei der Wahl der Rettungsmethode zwei Szenarien zu unterscheiden:

1. Das Linux-System kann den Datenträger ohne Fehlermeldung einhängen, aber einige Dateien sind nicht mehr lesbar. Typisch ist dieses Fehlerbild für optische Medien, USB-Sticks und Speicherkarten, wenn Partitionstabelle und Dateisystem ist noch weitgehend intakt sind, einzelne Sektoren jedoch nicht mehr. In diesem Fall stehen die Chancen gut, per Software einen Großteil der Daten vom Laufwerk zu retten.

2. Es wird kein Dateisystem erkannt, und das System weigert sich, den Datenträger einzuhängen. Der mount-Befehl meldet ein ungültiges Dateisystem und einen unlesbaren Superblock („mount: wrong fs type, bad option, bad superblock“). Hier ist Vorsicht geboten, um das Laufwerk durch Reparaturversuche am Dateisystem nicht noch weiter zu beschädigen.

Safecopy rettet einzelne Dateien von der Festplatte

Wenn der Datenträger noch eingehängt wird und der Zugriff auf eine Handvoll Dokumente scheitert, dann genügt es in vielen Fällen, gezielt die gewünschten Dateien vom Datenträger zu holen. Unbrauchbar sind dafür Dateimanager: Treten beim Lesen Probleme auf, so brechen die üblichen Programme den Zugriff nach kurzer Zeitüberschreitung mit einer Fehlermeldung ab und verwerfen auch den bereits korrekt gelesenen Teil der Datei wieder. Gründlicher arbeitet das hartnäckige Kommandozeilen-Tool Safecopy, das Sie in Debian, Ubuntu, Mint mit dem Befehl

sudo apt-get install safecopy

installieren. Auch Fedora kennt das Paket unter dem Namen „safecopy“. Zum Auslesen einzelner Dateien geben Sie Quellpfad und Ziel an:

safecopy /pfad/dokument.pdf ~/do kument_rettung.pdf

Das Tool versucht, die Quelldateien Byte für Byte zu lesen. Was unlesbar bleibt, füllt es mit Nullen auf. Diese Methode eignet natürlich nicht für jeden Dateityp. Am besten arbeitet das Tool bei gewöhnlichen Textdateien, aber auch die meisten Bildformate und Sounddateien sind aufgrund ihrer Struktur robust.

Abbild von kompletten Datenträgern

Bei unerkannten Dateisystemen liefert der Kernel nach dem Einlegen oder Anstecken des Datenträgers in der Ausgabe des Befehls dmesg alle Fehlermeldungen. Zwar muss nicht immer ein physikalischer Schaden der Grund defekter Dateisysteme sein, aber es lässt sich auch nie ganz ausschließen. Es empfiehlt sich, nicht direkt mit dem Laufwerk zu arbeiten, sondern zuerst ein Abbild mit Datenrettungs-Tools zu erstellen. Das geeignete Programm dazu ist ddrescue, das direkt von Geräten lesen und auch auf diese schreiben kann. ddrescue ist speziell für die Arbeit mit nicht mehr einwandfreien Datenträgern geschaffen. In Debian und Ubuntu nennt sich das Programmpaket „gddrescue“ und wird mit

sudo apt-get install gddrescue

installiert. In Fedora heißt das benötigte Paket „ddrescue“ und ist mit

sudo dnf install ddrescue

eingerichtet. Auch Open Suse bietet das Tool im Paket „gnu_ddrescue“ an.

Um einen beschädigten Datenträger auszulesen, benötigten Sie den Gerätenamen, den Sie mit dem Kommandolsblk -p herausfinden. Damit kein anderes Programm gleichzeitig auf das Laufwerk zugreift, muss es vor dem Auslesen ausgehängt sein. ddrescue/gddrescue arbeitet in mehreren Durchgängen, da beim ersten Leseversuch eine Logdatei mit fehlerhaften Blöcken erstellt wird, die erst im zweiten Durchgang ausgelesen werden. Mit diesem Befehl lesen Sie einen USB-Stick mit dem Gerätenamen „/dev/sdg1“ in die Datei „image.img“ aus und protokollieren Lesefehler in der Logdatei „fehler.log“.

sudo gddrescue -n /dev/sdg1 image.img fehler.log

Wenn ddrescue sich über Lesefehler beschwert, dann setzen Sie das Tool in einem zweiten Durchlauf nochmal auf die Disk an, um möglichst alle Blöcke in der Logdatei gezielt zu retten:

sudo gddrescue -d /dev/sdg1 image.img fehler.log

Das Tool beginnt nun, die im ersten Durchlauf als fehlerhaft markierte Sektoren in kleinere Blöcke zu unterteilen, um zumindest einen Teil der Daten zu retten und die bestehende Image-Datei zu ergänzen. Je nach Kapazität und Fehlermenge kann dieser Prozess viele Stunden dauern.

Datenrettung: Ein Abbild öffnen

Das gerettete Image lässt sich wie ein Laufwerk behandeln, und Sie können das Werkzeug fsck zum Beheben von Dateisystemfehler anwenden. Sie müssen dabei die zum Dateisystem passende Variante verwenden. Für die Dateisysteme FAT/FAT32 ist dies beispielsweise die Variante fsck.fat, die Sie mit

sudo fsck.fat image.img

aufrufen. Für Ext4 nutzen Sie fsck.ext4 zur Reparatur. Gelingt die Wiederherstellung, dann können Sie die Imag-Datei einhängen und auf deren Inhalt zugreifen. Erstellen Sie dazu in Ihrem Home-Verzeichnis einen neuen Ordner, beispielsweise mit dem Namen „Image“, und hängen Sie das ISO-Image dann mit

sudo mount image.img /home/benut zer/image

ein.

Ultima Ratio: Professionelle Datenrettung

Bei einer Festplatte mit physikalischem Headcrash ist jeder weitere Betrieb riskant, und eigene Rettungsversuche vergrößern den Schaden. Hier müssen Sie selbst ermessen, ob die Daten die professionelle Hilfe eines Datenrettungsunternehmens wert sind. Standardpreise für die Datenrettung gibt es nicht. Holen Sie deshalb unbedingt Angebote von verschiedenen Dienstleistern in Deutschland ein, wie Kroll Ontrack oder Convar. Gut ist, wenn die Preise erfolgsabhängig sind. Es ist aber üblich, dass schon die erste Voruntersuchung bis zu 120 Euro kostet. Die in der Werbung auf den Webseiten von Datenrettungslaboren genannten Preise sind unrealistisch und liegen erfahrungsgemäß am Ende beim Drei-oder Vierfachen.