Anleitung: Datenrettung mit Linux ddrescue

 
 
 

Datenrettung mit Linux (ddrescue)

Datenrettung mit linux ddrescue Anleitung
Wenn eine Festplatte nicht mehr gut funktioniert oder sehr langsam ist, jedoch vom Computer noch erkannt wird, ist eine Datenrettung unter Umständen auch noch im DIY-Verfahren möglich. So sich auf der betreffenden Festplatte jedoch sehr wichtige Daten befinden, raten wir dringend von einer Datenrettung im Selbstversuch ab.

Wenn eine Festplatte Probleme verursacht, so hat dies seine Gründe und eine fundierte und professionell durchgeführte Analyse ist Grundvoraussetzung für eine erfolgreiche  Datenwiederherstellung. Der folgenden Anleitung sollte also nur gefolgt werden, wenn die verlorenen Daten nicht wichtig sind und Sie auf diese Daten im Ernstfall auch verzichten können. 030 Datenrettung übernimmt keinerlei Haftung für Folgeschäden, die aufgrund der Nutzung und Anwendung dieser Anleitung zur Datenrettung an einem Datenträger entstehen können.

Wenn eine Festplatte nicht mehr erkannt wird oder kein Zugriff mehr auf die gespeicherten Daten besteht, kann es verschiedene weitere Faktoren geben, bei denen Sie in jedem Fall professionelle Hilfe in Anspruch nehmen sollten und keinerlei Selbstversuche unternehmen sollten.

In diesen Fällen besteht die Gefahr von Folgeschäden:

  • Wenn die Festplatte atypische Geräusche macht:
    • die Festplatte klickt
    • eine Festplatte piept oder piepst
    • kratzende oder schleifende Geräusche von der Festplatte verursacht werden
  • Wenn die Festplatte heruntergefallen war (es reichen auch 3cm) oder etwas auf die Festplatte gefallen ist.
  • Wenn es zu einer Überspannung oder einem Kurzschluss an der Festplatte gekommen ist.
  • Wenn die Festplatte einen Stoß bekommen hat und danach nicht mehr erkannt wird.

Richtige Vorgehensweise zur Datenrettung

Wenn bei einer Festplatte bekannt ist, dass etwa defekte Sektoren vorliegen, oder die Festplatte in letzter Zeit sehr langsam gewesen ist, so sollte bei einer Datenrettung immer als erster Schritt eine 1:1 Kopie des Datenträgers erstellt werden. Wenn man versuchen würde, mit einer Recovery-Software das bereits beschädigte Laufwerk nach verlorenen Daten zu scannen, so würde das sehr viel Last auf der Festplatte erzeugen. Gleichzeitig wird der Datenrettungsvorgang des Scannens durch die defekten Sektoren deutlich verzögert.

Defekte Sektoren führen bei einem solchen Scan zu Lesefehlern und können aufgrund der hohen Belastung der Festplatte zu Folgeschäden bis hin zum Totalausfall der Schreib-Leseköpfe oder weiteren Oberflächendefekten an den Datenplatten führen.

Deshalb sollte man bei einer Datenrettung Techniken einsetzen, die das gezielte Überspringen beschädigter Festplattenbereiche ermöglichen und dabei zunächst einen Klon des Datenträgers erstellen. Bei der professionellen Datenrettung kommen hochspezialisierte Komplexe aus Hard- und Software zum Einsatz (z.B. DeepSpar Disk Imager, PC3000 Data Extractor, Atola), um verschiedenste Parameter von beschädigten Festplatten während des Ausleseprozesses zu beeinflussen. Nur so kann bei schwer beschädigten Festplatten sichergestellt werden, dass die Datenrettung zu einem guten Ergebnis führt.

Wer nicht über diese Werkzeuge verfügt, ist auf die Datenrettung mit Hilfe von Software-Lösungen angewiesen. Aber auch hier können vertretbare Ergebnisse erzielt werden, solange die Festplatte keine schweren Defekte aufweist. Sobald der Festplatten-Klon erstellt worden ist, kann dieser in der Folge für die eigentliche Datenwiederherstellung genutzt werden und dann beliebig mit verschiedenen Recovery-Programmen nach den verlorenen Daten durchsucht werden.

Software zur Datenrettung

Linux Daten retten ddrescue testdisk photorecWarum sollte bei der Datenrettung im Selbstversuch eine Datenwiederherstellung unter Linux und nicht unter Windows vorgenommen werden? Es gibt zwar eine große Anzahl von Windows-basierten Datenrettungs- und Sicherungsprogrammen, die von sich behaupten,  auch Festplatten mit schlechten Sektoren klonen zu können oder die Daten von beschädigten Laufwerken zu retten. Unsere Erfahrung hat allerdings gezeigt, dass solche Programme in der Regel sehr viel schlechtere Ergebnisse liefern oder unnötig viele Sektoren überspringen, sobald sie auf einen bad block stoßen. In vielen Fällen kommt es dann auch zu einem Programmabsturz oder Windows reagiert nicht mehr.

Das eine Datenwiederherstellung unter Windows weniger gute Datenrettungsergebnisse erzielt, als unter dem freien Betriebssystem Linux hat aber auch technische Gründe. Jede Datenrettungssoftware, die unter Windows läuft ist gezungen sich an die von Windows bereitgestellte Treiber-Architektur zu halten. Damit sind die Rettungsprogramme vom Windows Host-Controller und dessen Implementierung abhängig, der sehr viel weniger Einflussnahmen auf die Kommunikation mit der defekten Festplatte zuläßt.

So ist die direkte Ansteuerung von Laufwerken mit ATA-Befehlen für solche Programme kaum möglich, wodurch sie dann wichtige Faktoren wie etwa Timouts beim Lesen von schwachen Sektoren nicht steuern können. Daraus folgt, dass Datenrettungsprogramme unter Windows weniger gut geeinet sind, um sektorweise Laufwerkskopien von beschädigten Festplatten für die Datenwiederherstellung zu erzeugen.

Wenn Sie also eine Datenrettung selber machen möchten, ist das quellenoffene Linux-Betriebssystem klar die bessere Wahl: Es bietet Datenrettungsprogrammen weit mehr Kontrolle über die Hardware des Computers und es handelt sich noch dazu um ein sehr stabiles System, das vergleichsweise gut mit weniger stabilen Datenträgern umgehen kann. Hinzu kommt, dass bei den meisten Linux-Distributionen bereits verschiedene kostenlose Tools mit großartigen Features zum Klonen von  Festplatten mit an Board sind.

Eines dieser Tools zur Datenrettung unter Linux soll nun vorgestellt werden. Es handelt sich dabei um GNU ddrescue, das genau für den hier beschriebenen Anwendungsfall – des Auslesens von beschädigten Festplatten – geschaffen worden ist. Es bringt genau die Features mit, die benötigt werden, um eine leicht beschädigte Festplatte auszulesen: Überspringen von defekten Sektoren (bad blocks), rückwärtiges Auslesen der Festplatte, Protokollfunktion (um zu einem späteren Zeitpunkt fortzufahren) und viele weiter Möglichkeiten mehr.

Für die Zwecke dieser Anleitung zu Datenrettung werden wir eine Knoppix Live-CD von Linux verwenden, da diese einfach zu zu bedienen ist und sich als gut für unsere Zwecke erwiesen hat. Es können aber auch beliebige andere Linux-Distributionen für die Datenwiederherstellung verwendet werden.

Anleitung: Daten retten mit Linux ddrescue

Datenrettung unter Linux mit ddrescue

USB Bootstick einfach erstellen

Datenrettung Schritt 1: Einrichten einer Linux Live CD, DVD oder USB-Bootstick

Laden Sie sich ein ISO-Abbild von Knoppix herunter. Dieses können Sie mit einem beliebigen Brennprogramm auf eine CD oder DVD brennen, um den Computer, mit dessen Hilfe Sie die Datenrettung durchführen wollen dann zu starten. Eine weitere,  noch einfachere Möglichkeit besteht darin, einen bootfähigen USB-Stick für die Datenrettung zu erstellen. Dies können Sie z.B. mit dem LinuxLive USB Creator schnell erledigen.

Nachdem Sie das Programm heruntergeladen und installiert haben, wählen Sie den USB-Stick aus, auf dem Sie Knoppix installieren möchten. Wählen Sie im Dopdown-Menü unter Quelle die Linux-Distribution Ihrer Wahl zum Download aus (hier Knoppix 7.x) und klicken anschließend unter Erstellen auf den Blitz.

Nach Abschluss des Downloads und der Einrichtung des USb-Sticks können Sie einfach von diesem Booten und haben eine stabile Arbeitsumgebung für die Datenrettung zur Verfügung.

Datenrettung Schritt 2: Starten des Linux Recovery-Systems

Um Ihren Computer mit der Live-CD oder dem USB-Stick zu starten ist meist eine Anpassung der Bootreihenfolge erforderlich. Normalerweise würde der Computer von der internen Festplatte starten, Sie müssen die Bootreihenfolge entweder im BIOS entsprechend anpassen oder beim Start des Computers das entsprechende Bootmedium auswählen. Bei den meisten Computern kann man die Bootreihenfolge über eine Funktionstaste beim Starten ändern (F8, F11, F12). Lesen Sie hierzu bitte im Handbuch Ihres Computers bzw. im Handbuch des Mainboards nach.

Um nun die für die Datenrettung unter Linux notwendigen Programme zu installieren, öffnen Sie ein Terminal-Fenster und geben die folgenden Befehle ein:

sudo apt-get update
sudo apt-get install gddrescue
sudo apt-get install hwinfo

Mit diesen Befehlen wird hwinfo installiert, das benötigt wird um herauszufinden, welches die beschädigte Festplatte (Quell-Laufwerk) und welches die Festplatte ist, auf die der Laufwerks-Klon geschrieben werden soll (Ziel-Laufwerk). Um den Klon zu erstellen, wird das Paket gddrescue installiert mit dem sich leicht beschädigte Laufwerke durch das Überspringen von defekten Sektoren und Bereichen kopieren lassen.

Datenrettung Schritt 3: Verbinden von Quell- und Ziel-Festplatten

SATA Festplatte rettenNachdem das Recovery-System soweit eingerichtet ist, können Quell- und Ziellaufwerk angeschlossen werden. Moderne Computersysteme und Festplatten erlauben den Anschluss auch während des laufenden Betriebs. Wenn es sich bei der zu rettenden Festplatte um ein Laufwerk mit IDE-Anschluss handelt, so sollte die Festplatte bereits vor dem Hochfahren des Computers angeschlossen werden. Um unnötige Zugriffe auf die bereits beschädigte Festplatte zu vermeiden, ist ein Anschluss nach dem Hochfahren des PC zu empfehlen.

Wichtig: Eine Datenrettung über einen USB auf SATA Adapter ist nicht zu empfehlen. Auf der einen Seite bestehen diese Adapter meist aus sehr billig produzierten Teilen made in China und wir haben bereits einige Datenrettungsfälle aufgrund von Überspannungsschäden durch billige Netzteile durchführen müssen. Auf der anderen Seite ist das USB-Protokoll schlecht für die Datenrettung geeignet.

Wenn die Festplatte nicht mehr schnell reagiert, so verliert auch der USB-Controller dieser Adapter den Kontakt zum Laufwerk und Sie müssen den Adapter immer wieder neu verbinden, was schlecht für den Datenrettungsprozess ist. USB ist auch vergleichsweise langsam und es ist eine weitere Hardware-Schicht, die sich negativ auf den Datenrettunsgprozess auswirken kann.

Wenn Sie also eine Datenrettung unter Linux ausführen, schließen Sie die Geräte bitte immer direkt per SATA oder IDE an, um ein gutes Ergebnis erzielen zu können. Vorteilhaft ist zudem, die während der Erstellung des Festplattenclons erzeugten Protokolldateien entweder auf einem zusätzlichen USB-Stick oder dem persistenten Speicher eines Bootsticks zu speichern. So können abgebrochene Kopiervorgänge zu einem späteren Zeitpunkt wieder aufgenommen werden.

Datenrettung Schritt 4 : Bestimmen der Geräte-Namen bzw. Pfade

Festplatte Daten retten

Ausgabe von hwinfo zur Bestimmung der Festplatten.

Um herauszufinden, unter welchen Gerätenamen bzw. Pfad die angeschlossenen Festplatten in Linux eingebunden worden sind, wird hier das Tool hwinfo genutzt. Hierfür öffet man zunächst ein Terminal (Kommandozeile / Tastenkombination STRG+ALT+T) und geben dort ein:

hwinfo --short

Hierdurch wird eine Liste der mit dem Computer verbundenen Hardware-Komponenten angezigt. Unter Linux werden Speichergeräte unter /dev/sd[a-z] eingebunden, wenn Sie also in der Liste hinunterscrollen, werden Sie bei den Speichergeräten fündig, die zusammen mit der Serien- und Modellnummer und sowie ihren jeweiligen Pfaden (z.B. „/ dev/sda“) angezeigt werden. Suchen Sie sich hier dann Ihr Quell und Ziellaufwerk heraus und notieren sich den Gerätepfad. Überprüfen Sie Ihre Notizen besser doppelt, damit Sie nicht Gefahr laufen, diese zu vertauschen! Das Vertauschen von Quell- und Ziellaufwerk kann zu fatalen Folgen führen und einmal überschriebene Daten sind für immer verloren.

Datenrettung Schritt 5: Starten des Kopiervorgangs mit ddrescue

Die grundlegende ddrescue-Syntax lautet: ddrescue [Optionen] [Quell-Laufwerk] [Ziel-Laufwerk] [Pfad zur Protokoll-Datei]

Einige Optionen, die für das erstellen von Laufwerkskopien defekter Festplatten besonders wichtig sind:

-f [Force] Muss immer verwendet werden, wenn als Ziel ein anderes Laufwerk genutzt wird und keine Image-Datei.
-d [Direktzugriff] Gibt dem ddrescue-Programm direkten Zugriff auf das Speichergerät.
-R [Rückwärts-Clon] Wird verwendet, um eine Festplatte rückwärts auszulesen, um sich so beschädigten Bereichen von beiden Seiten zu nähern.
-r [Anzahl der Wiederholungen] Wie häufig versucht werden soll, defekte Sektoren zu lesen. Beim ersten Durchlauf bitte nicht benutzen.
-A [Versuchen Sie erneut] Markiert alle ausgefallenen Blöcke, um in das Protokoll zu lesen und versucht wieder (nur nach dem ersten Pass des Klonens)

Wenn man eine bereits beschädigte Festplatte retten möchte, so kann es sinnvoll sein die Erstellung der Laufwerkskopie in mehreren Durchläufen zu erstellen. Beim ersten Kopiervorgang wählt man dann ein weniger aggressives Vorgehen und überspringt mehr schlecht zu lesende, defekte Sektoren. Bei den folgenden Kapiervorgängen tastet man sich dann nach und nach an die schwerer beschädigten Bereiche der defekten Festplatte heran, um möglichst viele Daten von der Festplatte zu retten.

Um möglichst viele Bereiche der defekten Festplatte auszulesen und den Datenrettungsprozess zu protokollieren, nutzt man bei ddrescue Log-Dateien. Das ddrescue-Protokoll zeichnet die Aktivitäten des Programms während des Auslesens wie Liste von Sektorbereichen, die kopiert, übersprungen, als schlecht markiert worden sind.

Sie haben nun also notiert, welches Laufwerk als Quelle und welches als Ziel genutzt werden soll. In dieser Anleitung zur Datenrettung gehen wir davon aus, dass das Quell-Laufwerk unter „/dev/sda“ und das Ziel-Laufwerk unter „/dev/sdb“ eingebunden worden ist. Um nun mit dem Auslesen der defekten Festplatte zu beginnen und eine Log-Datei anzulegen geben Sie folgenen Befehl im Terminal ein:

ddrescue -f /dev/sda /dev/sdb /home/users/knoppix/Desktop/log0.log

Nach der Eingabe des Befehls wird ddrescue mit dem Auslesen der defekten Festplatte beginnen und die Daten sektorenweise auf die Ziel-Festplatte kopieren. Das Statusfenster zeigt dabei den Fortschritt, die Kopiergeschwindigkeit sowie ausgelassene Sektoren an. Ebenso wird eine Einschätzung gegeben, wie lange der Kopiervorgang der defekten Festplatte noch dauern wird. Die Anzeige kann immer wieder schwanken, je nachdem ob ddrescue auf beschädigte Bereiche auf den Datenplatten der Festplatte trifft. Das Programm wird beim Auftreffen auf defekte Sektoren automatisch einige Sektoren überspringen und dann Rückwärts lesen, bis es erneut auf bad blocks trifft.

Daten retten mit ddrescue

Ausgabe von ddrescue im Terminal während der Datenrettung

Das Auslesen der defekten Festplatte kann zu jedem Zeitpunkt mit der Tasten-Kombination „Strg + C “ unterbrochen werden. Sie können, so Sie eine Log-Datei angelegt haben, den Ausleseprozess wieder aufnehmen und ddrescue wird nur die bisher nicht ausgelesenen Sektoren der Festplatte lesen. So wird die beschädigte Festplatte geschont und sichergestellt, dass mehr Sektoren ausgelesen werden können.

In manchen Fällen kann es sinnvoll sein, die defekte Festplatte rückwärts auszulesen. Dies kann etwa dann sinnvoll sein, wenn Sie merken, dass die defekten Bereiche vor allem im Anfangsbereich der Festplatte liegen. Wenn Sie die Festplatte rückwärts auslesen wollen, so lautet der Befehl hierfür:

ddrescue -f -R /dev/sda /dev/sdb /home/users/knoppix/Desktop/log0.log

Sobald ddrescue seinen Kopiervorgang abgeschlossen hat und Sie sich sicher sind, das Maximum an lesbaren Sektoren der defekten Festplatte gerettet zu haben, können Sie die Laufwerkskopie nun mit einer Software zur Datenwiederherstellung Ihrer Wahl (z.B. R-Studio, getdataback, Recuva, testdisk/photorec, DMDE) durchsuchen und Ihre Dateien so wieder herstellen.