Falls die Platte ihres Computers am abstürzen ist – es ist zwar spät, aber vielleicht noch nicht zu spät. Zunächst muss klar sein, dass sich die folgenden Gedanken und Überlegungen nur auf drehende, herkömmliche Platten beziehen. Bei SSDs liegt der Fall ganz anders.
Zunächst brauchen wir eine Kopie der Platte – damit die Reparaturversuche nicht auf defekter Hardware stattfinden müssen. Falls man versucht auf der defekten Platte die Daten zu reparieren, würde durch die dauernden Schreib- und Leseoperationen der Schaden womöglich noch größer werden. Deswegen: zuerst kopieren.
Wenn aber die Platte gar nicht kopiert werden kann, weil dabei Fehler auftreten, muss eine bessere Strategie her. Normalerweise würde das Betriebssystem versuchen, die Daten von der Platte der Reihe nach zu lesen, von vorne nach hinten – und damit immer wieder auf den fehlerhaften Sektor stossen, den es dann nicht lesen kann. Auch dadurch kann sich der Zustand der Platte verschlechtern.
Das Problem lässt sich umgehen, in dem zunächst mal alles gelesen wird, was _nicht_ zu Problemen führt. Das Programm, das sowas kann, heisst ddrescue und liest zunächst bis zum ersten Fehler. Dann geht es ganz ans Ende der Platte und liest rückwärts bis zum ersten Fehler. Danach wird untersucht, ob es vielleicht zwischen diesen beiden Fehlern noch ‚Inseln‘ lesbarer Daten gibt. Dazu erstellt das Programm einen ‚Karte‘ der Platte und versucht so nach und nach soviel wie möglich der Platte zu lesen.
https://de.wikipedia.org/wiki/Ddrescue
Das geht natürlich nur mit einem Computer, der zusätzlich zu der defekten Platte auch noch eine Platte hat, auf der die erfolgreich gelesenen Daten gespeichert werden können. Am besten wird also die kaputte Platte ausgebaut und der Rettungsversuch findet in einem anderen Rechner statt, der auch eine weitere Platte hat, auf der die geretteten Daten zwischegelagert werden können. Dieser ganze Vorgang kann durchaus 1 Tag und auch mehr dauern, je nach Umfang der beschädigten Daten. Der Prozess kann auch unterbrochen und später wieder fortgesetzt werden, wenn man dafür sorgt, dass die ‚Karte‘ mit erhalten bleibt. Mit Glück dauert der Prozess auch mal nicht so lang.
ddrescue <optionen> <quelle> <ziel> <map> –
Konkret: ddrescue -r 5 /dev/sdd1 /data/p1.img /data/p1.map
Damit werden die Daten von der defekten Partition /dev/sdd1 mit bis zu 5 Wiederholungen (-r 5) in ein Image(Abbilddatei) auf /data/p1.img geschrieben und die Karte liegt in /data/p1.map. Es wird ein Abbild der defekten Platte erzeugt und die Reparatur findet anschliessend auf diesem Abbild statt. Dadurch vermeidet man, den Schaden auf der defekten Platte durch die Reparatur noch zu vergrössern. Das wichtigste Ergebnis dieses Schrittes ist aber, dass zumindest die jetzt noch lesbaren Daten erstmal gesichert sind. Normalerweise lassen sich deutlich über 95% der Daten einer Platte sichern, ohne dass die Platte zu einem Datenrettungsunternehmen geschickt werden muss. Wenn das nicht reicht und die gesuchten Daten genau in den defekten Sektoren sind, kann man immer noch ein solches Unternehmen beauftragen, wenn einem die Daten soviel wert sind. Sie müssen mit Preisen von 500 € und mehr rechnen.
Gesetzt den Fall, die Daten stammen von einer NTFS Partition, wie sie unter Windows normalerweise verwendet wird, können alle Befehle, die es unter Linux zum Umgang mit Windows-Partitionen gibt, auch auf dieses Image angewandt werden, so lassen sich Fehler im Dateisystem korrigieren oder ’ntfsfix -n /data/p1.img‘ sagt zum Beispiel, was es für Informationen über diese Partition gibt.
Das so erstellte Image kann jetzt auch wie eine Platte gemountet werden, und man kann feststellen was alles lesbar ist:
mount /data/p1.img /mnt/p1