Datenrettung mit ddrescue

LogoEs kommt immer mal wieder vor, dass mir lange bekannte aber in Vergessenheit geratene Tools wieder einfallen. Meist aus sehr nachvollziehbaren Gründen – ich benötige ihre Dienste einfach wieder einmal. Im konkreten Fall waren innerhalb eines Tages die Festplatten von 2 verschiedenen Rechnern defekt. Natürlich beides „Poweruser“ denen die Arbeit an anderen Arbeitzplätzen nicht zuzumuten war …

Lange Rede kurzer Sinn: mit dem Programm ddrescue ist es möglich eine Datenrettung von defekten Platten durchzuführen, unabhängig wieviele Partitionen sich auf der entsprechenden HDD befinden, relativ unabhängig vom Dateisystem oder Blockgrößen.
Um – wie in meinem Fall – eine solche Plattenkopie durchzuführen, braucht es 3 Dinge:
  • die zu kopierende Festplatte
  • eine (mindestens genau so große) Platte als Ziel
  • eine Linux-Live-CD (in meinem Fall die Systemrescuecd, die eine Menge mehr Tools enthält)
Optional einen USB-Stick um die Logdatei von ddrescue aufzunehmen.
 
Nach Anschluss und mount der Datenträger mit dem Befehl
fdisk -l
die angeschlossenen Geräte anzeigen lassen. Bei mir wurden folgende Geräte erkannt: defekte Festplatte sda, neue Festplatte sdb.
 
Der eigentliche Kopiervorgang erfolgt in zwei Schritten:
  1. Kopie der unbeschädigten Bereiche der Festplatte
    ddrescue -B -n /dev/sda /dev/sdb rescued.log
    Das Schreiben einer Logdatei ist nicht unbedingt erforderlich, in einigen Szenarien (z.B. wenn man Schritt2 ausführen möchte),aber zu empfehlen. Nach Eingabe des Befehls warnt ddrescue davor, dass die Zielplatte komplett überschrieben wird. Bestätigen und los geht es …
  2. Danach der Versuch, soviel wie möglich aus den beschädigten Bereichen auszulesen und zu kopieren
    ddrescue -B -r 1 /dev/sda /dev/sdb rescued.log

Bei mir war Schritt 2 nicht erforderlich, es waren keine Systemrelevanten Bereiche der defekten Platten betroffen und Daten werden ohnehin auf den Servern abgelegt …