Wer regelmäßig seine Daten sichert, braucht vor Platten-Versagen keine Angst zu haben – doch manchmal vergisst man die regelmäßigen Backups. Verabschiedet sich dann die Festplatte mit einem Lesefehler, ist guter Rat teuer. Oder umsonst, wenn Sie “dd_rescue” verwenden.
Mögliche Gründe für das Ausfallen einer Festplatte gibt es viele: Wenn die Platte einen Head-Crash hat und der Schreib-/Lesekopf zerstört ist, kann nur noch der Fachmann helfen; wie ein Datenrettungsdienst selbst stark beschädigten oder verbrannten Festplatten noch Informationen entlockt, hat unsere Schwesterzeitschrift Linux-Magazin im vergangenen Jahr beschrieben [1].
Oft ist der Schaden aber gering: Einzelne Sektoren sind nicht mehr lesbar, die “Selbstheilungskraft” der Festplatte, die für solche Fälle Reservesektoren bereit hält, ist erschöpft.
Im günstigen Fall können Sie die Partitionen einer defekten Platte noch mounten, nur bei wenigen Dateien (vielleicht nur bei einer) erhalten Sie einen Lesefehler. Dann reicht es aus, alle Dateien der betroffenen Partition auf eine neue Festplatte zu kopieren und danach die alte Platte zu entsorgen oder auf dem Garantieweg auszutauschen. Weiter benutzen sollten Sie eine defekte Platte nicht, auch wenn sich mit Hilfe von badblocks (siehe Kasten 1) defekte Sektoren explizit ausblenden lassen – die Gefahr ist einfach zu groß, dass die bereits angeschlagene Platte in Kürze noch weitere Defekte zeigt.
Kasten 1: Medien-Check mit badblocks
Das Tool badblocks ermittelt fehlerhafte Blöcke auf Datenträgern wie Disketten und Festplatten. In Zusammenarbeit mit fsck können die entdeckten Fehlerstellen im Dateisystem als unbenutzbar markiert werden, dazu muss man fsck die Ausgabe von badblocks übergeben:
badblocks /dev/hdb5 > /tmp/bad-blocks fsck -t ext2 -l /tmp/bad-blocks /dev/hdb5
Soll hingegen ein beschädigter Datenträger nur neu formatiert werden, geht es auch ohne expliziten Aufruf von badblocks: Die mkfs-Kommandos kennen die Option -c (check) und rufen dann vor dem Formatieren selbständig badblocks auf:
mke3fs -c /dev/hdb5
Mounten schlägt fehl
Unangenehmer ist die Situation, wenn Sie eine Partition nicht mehr mounten können, weil im vorderen Bereich wichtige Verwaltungsdaten nicht lesbar sind und auch von fsck nicht mehr repariert werden können, weil die defekten Blöcke auch nicht schreibbar sind (siehe Kasten 2).
Dann hilft nur Eines: Wenn Sie eine Kopie des ganzen Dateisystems erzeugen, die Sie auf einer zweiten Platte ablegen, können Sie diese Image-Datei mit fsck bearbeiten und so möglicherweise die Daten retten – denn Dateisysteme enthalten an verschiedenen Stellen Kopien der Verwaltungsinformationen.
Kasten 2: Plattenfehler
Lesefehler, die das Mounten einer Partition verhindern, zeigen sich im Kernel-Log wie folgt:
Feb 6 05:28:42 server kernel: reiserfs: found format "3.6" with standard journal
Feb 6 05:28:47 server kernel: reiserfs: enabling write barrier flush mode
Feb 6 05:28:47 server kernel: reiserfs: using ordered data mode
Feb 6 05:28:50 server kernel: hdb: dma_intr: status=0x51 { DriveReady SeekComplete Error }
Feb 6 05:28:50 server kernel: hdb: dma_intr: error=0x40 { UncorrectableError }, LBAsect=19616787, sector=65680
Feb 6 05:28:50 server kernel: end_request: I/O error, dev 03:42 (hdb), sector 65680
Feb 6 05:28:50 server kernel: journal-459: unable to read journal header
Feb 6 05:28:50 server kernel: sh-2022: reiserfs_read_super: unable to initialize journal space
Knoppix: dd_rescue on board
Das Tool dd_rescue von Kurt Garloff [2] ist eine Variante des Unix-Klassikers dd, die speziell für die Datenrettung entwickelt wurde. Knoppix enthält dd_rescue, so dass Knoppix-Benutzer auf eine Installation aus den Sourcen verzichten können. Alle anderen finden die Quellen auf der dd_rescue-Homepage oder auf der LinuxUser-CD, wir beschreiben hier aber den Einsatz mit Knoppix.
dd_rescue hat gegenüber dd (neben seiner einfacheren Bedienung) zwei Vorteile: * Gibt es beim Kopieren Lesefehler, bricht dd_rescue den Kopiervorgang nicht ab, sondern schreibt anstelle des unlesbaren Blocks einen gleich großen Bereich Nullen in die Zieldatei. Damit erhalten Sie am Ende ein vollständiges Abbild der Partition, in dem nur die unlesbaren Bereiche durch Nullen ersetzt sind. *
dd_rescue arbeitet mit zwei Blockgrößen für die Lesezugriffe: So lange kein Fehler auftritt, werden große Blöcke gelesen (Vorgabe: 16384 Byte), nach einem Fehler geht es mit kleineren Blöcken weiter (Vorgabe: 512 Byte). Beide Werte können Sie über Optionen verändern.
Vorbereitung
Als Vorbereitung bauen Sie die defekte Platte in einen Rechner ein. Außerdem benötigen Sie eine weitere Platte, die auf mindestens einer Partition genug Speicherplatz für die folgenden Schritte hat: Es sollte mindestens doppelt so viel Platz frei sein, wie die betroffene Partition der defekten Platte belegt.
Nach dem Booten von Knoppix öffnen Sie eine Konsole und werden darin mit sudo su (ohne Passworteingabe) zum Administrator root. Mit fdisk -l geben Sie die Liste der Partitionen aus.





super alte Anteilung und dennoch gültig und vorallem funktionierend! Besten DANK!!!
Hallo dachte dass ich bei Euch hilfreiche Vorgehensweise finden könnte, nur Leider find ich zu meinem Problem nur falsche Antworten.
Hab auf Lifebook Fujitzy Siemens drei Ubuntu installiert.
Die ersten beiden sind auf 14.04.1 upgradet und nicht richtg startbar bis auf Anmeldebildschirm.
Die wurde ich gerne Löschen, sind kaum daten drauf zum sichern, also weg damit.
Die einzigste brauchbare Ubuntu Distri ist eine Ubuntu 12.04.1.
Die wuerde ich auch gerne upgraden, wenn genug Speicherplatz da wäre.
Hat jemand brauchbare Hinweise?
Fritz Raddatz