Datenrettung von defekter Festplatte (NTFS) mit Linux

Das Szenario: Ein Kunde bringt seinen Computer vorbei, weil dieser nicht mehr startet. Natürlich hat der Kunde kein Backup, also ist die Rettung der Daten erstes Gebot. Die Festplatte wird also ausgebaut und an einen anderen Rechner angeschlossen um das wichtigste zu sichern.

Manchmal passiert es dann, dass eine Festplatte zwar in der Datenträgerverwaltung auftaucht, die Partitionen jedoch nicht mehr eingebunden werden können. Oft erscheint dabei folgende Meldung:

muss_formatiert_werden

Dies bedeutet, dass wichtige Verwaltungsdaten im vorderen Bereich der Festplatte nicht mehr lesbar sind und auch per chkdsk nicht mehr repariert werden konnten, weil sich defekte Blöcke nicht mehr beschreiben lassen.

Was wir benötigen

  • 1x Linux Live-CD (Knoppix)
  • 1x leere externe Harddisk (grösser als die defekte HDD)
  • (alternativ leere Harddisk + USB-SATA Adapter)

DD to the rescue

In diesem Fall kann folgendes helfen: Zunächst erstellt man eine komplette Kopie der defekten Harddisk. Mit  ntfsfix oder  chkdsk lässt sich das Dateisystem später womöglich reparieren.

Anstatt den Unix-Klassiker dd, setzen wir zur Erstellung dieser Kopie die speziell für Datenrettung entwickelte dd-Variante ddrescue ein. Dieses Programm hat den Vorteil, dass es gegenüber dd bei Lesefehlern nicht abbricht, sondern nicht-lesbare Bereiche bei der Kopie mit Nullen auffüllt.

Legen wir los!

Die fehlerhafte Festplatte bauen wir wieder in den PC ein und schliessen zusätzlich eine grössere leere Festplatte an den Rechner an. Am besten entfernt man alle anderen Speichermedien (USB-Sticks, SSDs, etc.). Nun starten wir den PC mit der Knoppix Live-CD.

Zunächst öffnen wir ein Terminalfenster und lassen mit dem Befehl sudo fdisk -l sämtliche Festplattenbezeichnungen ausgeben. In der Ausgabe sollten nun die zwei Festplatten angezeigt werden.

Die Kopie wird wie folgt gestartet:

sudo dd_rescue [Quell-Festplatte] [Ziel-Festplatte] [Logfile]

Wichtig: Unbedingt die Reihenfolge der Festplatten einhalten!

Wichtig ist auch, dass ein Logfile definiert wurde. Sollte der Kopiervorgang plötzlich abbrechen, kann dieser mithilfe der Log-Datei wieder aufgenommen werden.

Für diesen Vorgang sollten je nach Datenmenge und Zustand des Datenträgers mehrere Tage (wenn nicht über eine Woche) einberechnet werden! Erst wenn die Ausgabe “Finished” erscheint, kann mit dem nächsten Schritt fortgefahren werden.

Dateisystem Reparieren

Die defekte Festplatte wird vorerst nicht mehr benötigt. Die Reparaturversuche beziehen sich auf die Kopie!

Linuxtool ntfsfix

Mit dem Tool ntfsfix können schon einmal erste grobe Fehler behoben werden. Sollte dieses Tool nicht vorhanden sein, lässt es sich über das Paket ntfsprogs installieren. Bei diesem Befehl muss nun nicht mehr der Datenträger, sondern die zu reparierende Partition angegeben werden (mit sudo fdisk -l ermitteln):

Windowstool CHKDSK

Das Microsoft-Eigene Tool CHKDSK eignet sich nun perfekt um weitere Fehler automatisch zu beheben. Dazu schliesst man die Festplatte mit den kopierten Daten an einen Windows Rechner an und startet in einem cmd.exe mit Administrationsberechtigung folgenden Befehl:

chkdsk [Laufwerk] [Optionen]

/F Behebt Fehler auf dem Datenträger.
/R Findet fehlerhafte Sektoren und stellt lesbare Daten wieder her (bedingt /F).
/X Erzwingt das Aufheben der Bereitstellung des Volumes (falls vorhanden). Alle geöffneten Handles auf
/B Nur NTFS: Evaluiert fehlerhafte Cluster erneut auf dem Volume (bedingt /R).

Weiterführende Links