Kategorie:Datenrettung

Aus Wiki
Wechseln zu: Navigation, Suche

Tipp: Datenrettung können nur Profis. Macht es nicht schlimmer und gebt eure defekten Datenträger gleich einem Experten eures Vertrauens ...

Inhaltsverzeichnis

Software

ddrescue

  • gar nicht erst irgendwo mounten
  • komplettes Festplatten-Image auf einen anderen Datenträger erstellen
  $ apt-get install dd_rescue
  $ dd_rescue -A -o hd.badblocks -l hd.log /dev/sdxyz image

Der -A switch ist nicht unbedingt notwendig. Scheinbar schreibt dd_rescue ein sparsefile, unter Linux ext muss man die Nullen also nicht explizit schreiben.

Ein device unter Umgehung seiner defekten Sektoren mounten

  • falls Liste defekter Sektoren bekannt (z.B. -o switch an dd_rescue)
  • mit mdadm ein linear device aus mit --offset & --sizelimit angepassten loopback-devices anlegen
  • dieses mounten und komplett auf einen anderen Datenträger auslesen, sofern möglich
  • vollständiges Auslesen ist angebracht, da Festplatten ihre defekte Sektoren intern erkennen und normalerweise vor dem Betriebssystem verbergen
  • erst, wenn der Schaden an einer Festplatte sehr weit fortgeschritten ist, tauchen "defekte Sektoren" auf
  • die Platte kann ihre Schäden dann nicht mehr intern umgehen, man muss also damit rechnen, dass mit der Zeit immer mehr Sektoren unlesbar werden

Beispiel

Angenommen, eine Festplatte ist im vorderen Bereich beschädigt. Die entsprechenden Sektoren wurde mit dd_rescue in ein file ausgelesen. Der hintere Bereich sei intakt. Wir möchten nun ein md-device erstellen, das den vorderen Bereich aus dem geretteten file liest, den Rest direkt vom ursprünglichen Datenträger:

  $ losetup /dev/loop0 file
  $ losetup /dev/loop1 /dev/sdxyz --offset $(stat -c %s file)
  $ mdadm --build /dev/md0 -l linear -n 2 /dev/loop0 /dev/loop1

Voraussetzung hierfür ist ein Kernel, in dem die [linear] personality aktiviert ist:

  $ cat /proc/mdstat
  drivers/md/Kconfig: config MD_LINEAR
  Device Drivers / Multiple devices driver support (RAID and LVM) / Linear (append) mode

Der Einfluss von (De-)Fragmentierung auf Datenrettung

Die Defragmentierung eines Dateisystems kann die Chance, verlorene Daten retten zu können, erheblich verbessern. Denn sobald die Dateisystemtabelle einmal korrupt ist, sind spezielle Tools, wie magicrescue erforderlich, um Daten im image wieder aufzuspüren. Diese Daten lassen sich aber nur dann wieder in eine Datei retten, wenn alle zugehörigen Sektoren hintereinander liegen, das Dateisystem also nicht fragmentiert ist. Für Partitionen mit wichtigen Daten kann sich eine regelmäßige Defragmentierung also lohnen.

Da die Wahrscheinlichkeit der Fragmentierung einer Datei mit ihrer Größe zunimmt, sinkt die Chance, eine Datei retten zu können, mit ihrer Größe. Das spricht dafür, wichtige Daten lieber in vielen kleinen, als einer großen Datei abzulegen.

unter Linux

Grundsätzlich sind Linux-Dateisysteme durch intelligente Programmierung sehr viel weniger anfällig für Fragmentierung. Verhindern kann man sie aber nicht.

Siehe auch:

Erfahrungswerte

Im konkreten Fall war es überraschenderweise möglich alle Dateien von einer 1 TB Platte wiederherzustellen, da jeweils alle zusammengehörigen Blöcke hintereinander auf die Platte geschrieben waren. Die Dateigröße variierte zwischen wenigen MB bis über 1 GB. Dateisystem war FAT, genutzt wurde die Platte unter Windows und MacOS.

Diese Kategorie enthält zurzeit keine Seiten oder Medien.

Meine Werkzeuge
Namensräume
Varianten
Aktionen
Navigation
Werkzeuge