Die lange Nacht der Datenrettung — Daten von Festplatten retten mit Ddrescue

Ist die Oberfläche der Magnetplatten einer Festplatte erst einmal beschädigt, kann sich der Schaden theoretisch mit jeder Umdrehung weiterfressen. Mit fortschreitendem Betrieb sind dann größere Datenverluste möglich. Bleibt der Schaden unbemerkt, etwa weil die SMART-Technologie noch gar nicht unterstützt wurde (bei alten Geräten) oder weil die Festplatte als externe Festplatte in Betrieb war, können unter sich häufenden Zugriffsfehlern immer mehr Daten verloren gehen, bis sich das Betriebssystem weigert, überhaupt noch von der Festplatte zu lesen.

Folgen können das Verfallen der Partition sein. Diese lässt sich mit Werkzeugen wie Testdisk (hier gehört schon Glück dazu) zwar wiederherstellen, aufgrund des physikalischen Defekts sind weitere Verluste aber fast nie auszuschließend. Anzeichen für einen Verfall können das Verlangen des Betriebssystems sein, das Dateisystem zu korrigieren (etwa mit Checkdisk unter Windows; Scandisk unter Windows-Versionen der 9x-Linie und den DOS-basierten Vorgängern).

Zwei geöffnete PCs mit provisorsch angeschlossenen Festplatten zwecks Datenrettung.
Da die Datenrettung sehr lange dauern kann und zur Weihnachtszeit Kapazitäten für solch ein langwieriges Projekt bestanden, liefen hier sogar zwei Rechner, um verloren geglaubte Daten wieder zu bekommen. Links: Rettung einer vor 10 Jahren ausgefallenen Festplatte mit 500 MiB, rechts: mehrtägige Rettung einer 2-TiB-Festplatte mit Downloads und Mediendateien.

Eine völlig andere Art des Defekts kann eine Störung in der Festplattenelektronik sein. Die Elektronik befindet sich auf der Platine unterhalb des Festplattengehäuses (manchmal ist diese abgedeckt und somit nicht sichtbar). Eine Störung an dieser Stelle kann zu solch charakteristischen Phänomenen wie Klappern und Klopfen führen: häufig kann der Aktuator, also die Einheit, die die Schreib-Leseköpfe über den Magnetplatten positioniert, Befehle nicht mehr präzise umsetzen und springt zwischen Spindel und äußerem Rand oder sogar der Parkposition hin und her.

Die wichtigste Regel lautet immer: Betrieb vermeiden. Denn mit jedem Einschalten, aber auch mit jedem Zugriff können die Schreib-Leseköpfe so unglücklich positioniert werden, dass weitere Schäden verursacht werden („Headcrash“). Folgen können dann nicht nur Schäden an der Oberfläche, sogar an den Schreib-Leseköpfen selbst sein — sind letztere erst einmal beschädigt, gibt es keinen Weg mehr, mit Datenrettungssoftware noch irgendetwas in Sicherheit zu bringen.

Augenscheinlich sterbende Festplatten sind daher schnellstens außer Betrieb zu stellen und, wenn man sich traut und es sich leisten kann, einer Datenrettung mittels spezieller Software zu unterziehen. Ein hierfür hervorragend geeignetes Werkzeug ist das Linux-Programm GNU Ddrescue von Antonio Diaz Diaz, der das Projekt vor 10 Jahren aufnahm und bis heute allein führt. Ddrescue unterscheidet sich von dem in der Linux-Welt bekannten Programm Dd dadurch, dass es fehlerhafte Bereiche eines Datenträgers überspringt und somit das wiederholte Lesen von defekten Bereichen vermeidet. Auch Aussetzer des Laufwerks (wie etwa bei fehlerhafter Koordination des Aktuators) werden übergangen. Damit ist (bedingt) auch die Datenrettung von Festplatten mit fehlerhafter Elektronik oder Mechanik möglich.

Ddrescue liest wie auch Dd Daten blockweise vom Datenträger ein und schreibt diese an ein definierbares Ziel, zum Beispiel einen anderen Datenträger oder in eine Datei. Eine solche Datei kann dann entweder gemountet werden oder später mit Dd auf einen intakten Datenträger geschrieben werden.

Ddrescue ist in fast allen Linux-Distributionen und in Rettungssystemen wie beispielsweise Parted Magic enthalten, die als Live-System von DVD gestartet werden können. Um Daten von einer beschädigten Festplatte, Diskette, CD oder DVD zu retten, verwende man den Befehl

ddrescue /dev/sda /media/sdb1/kaputte-festplatte.img

oder, um direkt auf einen geeigneten Datenträger (mindestens so groß wie der Quelldatenträger) zu schreiben

ddrescue /dev/sda /dev/sdb

Die Bedeutung der Logdatei

Als Zusätzlicher Parameter kann der Pfad zu einer Logdatei angegeben werden, welche mit ddrescue log viewer sichtbar gemacht werden kann:

ddrescue /dev/sda /dev/sdb /var/log/ddrescue.log

Auch dieses Programm ist bereits in Parted Magic enthalten.

Die Logdatei hat aber noch einen ganz anderen, entscheidenden Vorteil: Ddrescue protokolliert hierin nicht nur den Verlauf der Datenrettung, sondern auch die bearbeiteten Positionen. Wird die Datenrettung abgebrochen, kann sie unter Angabe einer bereits vorhandenen Logdatei wieder aufgenommen werden, ohne die bereits behandelten Bereiche zu lesen. Dies beschleunigt die Datenrettung und erlaubt sogar, den Computer auszuschalten.
Wichtig: wenn Sie die Datenrettung mit einem Live-Betriebssystem durchführen, muss die Logdatei an einem Ort gespeichert werden, der auch nach dem Neustart verfügbar ist, zum Beispiel einem USB-Stick oder einer (bei der Aktion unbeteiligten) fest installierten Festplatte.

Grafische Darstellung fehlerhafter Bereiche auf einem Datenträger.
Gut zu sehen ist hier, mit welcher Regelmäßigkeit Fehler festgestellt wurden. Dies spricht für einen mechanischen Defekt in mindestens einer Spur auf dem Datenträger. Um das zu verdeutlichen, wurde die Fenstergröße so eingestellt, dass defekte Stellen optisch beieinander liegen. Aufgrund älterer Protokolleinträge begann Ddrescue seine Arbeit einige hundert Gigabytes hinter dem Datenträgeranfang und holte dies am Ende nach.

Daten noch effizienter und schneller auslesen

Je nach Größe der zu rettenden Festplatte aber auch je nach Schaden kann die Rettung einige Stunden, aber auch einige Tage in Anspruch nehmen. Im konkreten Fall dauert die Datenrettung von einer 2-Terabyte-Festplatte über 100 Stunden — auf moderner Hardware. Eine vor 10 Jahren ausgefallene Festplatte mit einer Kapazität von ca. 500 Megabytes (Baujahr ~1994) war damals wegen ihrer defekten Elektronik nicht mehr auszulesen; hier dauerte die Rettung mit Ddrescue ca. 1 Stunde in Begleitung lauter Bewegungsgeräusche der Mechanik und ständigen Aussetzern des Spindelmotors.

Ddrescue kennt Parameter, die ein Vorgehen unterstützen, das möglichst die zu lesenden Daten kopiert, ehe die von den defekten Sektoren gelesen werden. Wichtig ist hier die Angabe der Logdatei, die für die jeweilige Datenrettung verwendet wurde. An ihr orientiert sich Ddrescue, um im zweiten Durchlauf nur noch die fehlerhaften Bereiche zu behandeln.
Man verwende hierzu die Befehle:

ddrescue -f -n /dev/sda /dev/sdb /var/log/ddrescue.log

Der Parameter -n teilt dem Programm hierbei mit, dass von fehlerhaften Bereiche zunächst nicht kopiert werden soll. Ist dieser Schritt abgeschlossen, kann man die Kopie um die Daten aus den beschädigten Bereichen ergänzen:

ddrescue -d -f -r2 /dev/sda /dev/sdb /var/log/ddrescue.log

Die Zahl hinter dem Parameter -r gibt an, wie oft versucht werden soll, aus defekten Bereichen zu lesen. Bedenken Sie, dass dies erstens die Festplatte weiter schädigen und zweitens viel Zeit in Anspruch nehmen kann.

Andere Wege

Wer sich entscheidet, die Datenrettung selbst in die Hand zu nehmen, sei darauf hingewiesen, dass durch den Rettungsversuch weitere Schäden entstehen können. Im schlimmsten Fall wird die Festplatte dabei so schwer beschädigt, dass sie mit Datenrettungssoftware gar nicht mehr ausgelesen werden kann. In solchen Fällen bleibt dann allenfalls die (kostspielige) Datenrettung durch Experten im Labor. Anbieter wie Kroll haben große Lager mit Ersatzteilen, sodass sogar die Elektronik ausgetauscht werden kann. Gelingt auch das nicht, bleibt nur noch die Abtastung per Laser. Diese Methode ist aber so zeitaufwendig (und damit kostspielig), dass sie nur für sehr kleine Datenmengen angeboten wird. Das Ordnen der per Laser ausgelesenen Daten kann mehrere Wochen bis Monate dauern.

Fazit

Letztendlich gilt: eine Datensicherung erspart eine Menge Ärger, Sorgen und Mühe. Die diesem Artikel zugrunde liegenden Datenrettungen werden aufgrund des Alters der Daten beziehungsweise der Relevanz praktisch wohl kaum noch eine Rolle spielen. Die Datenrettung der 2-TiB-Festplatte endete übrigens mit dem Verlust von gerade einmal 0,4% der einst darauf enthaltenen Daten. Von der 500 MiB-Platte konnten Bilder gerettet werden, die aber alle schwere Beschädigungen aufwiesen, als dass Bildbereiche verschoben waren oder ganze Bereiche nur noch aus Rauschen bestanden.

Tolle Möglichkeiten für die Datensicherung bringen moderne Betriebssysteme bereits mit. Wem die nicht gefallen, der kann auch Programme von Drittanbietern einsetzen; ich setze seit Jahren Cobian Backup ein. Inkrementelle Sicherungen fallen platzsparend aus und die angelegten 7-Zip- oder Zip-Dateien können überall entpackt werden.