linux:datenrettung

Datenrettung

Bevor man anfängt sollte man ein Image der kompletten Partition anlegen und Reparaturversuche nur an der Kopie vornehmen.

dd if=/dev/hda of=/Ort/Datei.

Genauer wird das in dem Artikel Imageerstellung mit dd und ddrescue beschrieben.

Wenn man sich nicht sicher ist, ob es nicht doch an anderer Hardware liegt, mal ein Speichertest/Systemcheck machen bzw. die Festplatte mit dem Programm badblocks testen.

Die Dateien sollte nur entweder

  • auf eine seperate Festplatte
  • auf ein Netzlaufwerk
  • oder auf eine seperate Partition auf der Festplatte erfolgen

:!: Wenn man geöffnete Dateien schon gelöscht aber noch geöffnet hat, beschreibt dieser Artikel (Bring back deleted files with lsof) wie man sie trotzdem wieder herstellen kann. Nur darf das Programm (das die Datei geöffnet hat) darf nicht vorher geschlossen werden. Der Grund ist das Datenblöcke bzw. der Speicherplatz von Dateien/Verzeichnissen erst wirklich freigegeben wird wenn der Linkcount auf 0 steht. Eine geöffnete (aber schon gelöschte) Datei zählt auch als 1, bei schließen ist der Linkcount 0 und der Platz wird freigegeben. Die Problematik wird in dem Artikel The mysteriously persistently exploitable program explained aus der Sicherheitsperspektive beleuchtet.

fdisk -l

zeigt die aktuelle Partitionierung an.

  • Helix - Knoppix-basierte LiveCD für Datensicherung und Forensik: enthält super Programme zu sichern:
  • adepto: Images ziehen auf lokale Datenträger oder über´s Netz mittels SMB bzw. netcat.
  • Regview: Bearbeiten von Registry Dateien
  • rescuept
  • undelete
    • PC Inspektor File Recovery (undelete in ntfs, ansonsten nicht so gut aber kostenlos)
    • R-Studio (NTFS, FAT, HFS, UFS, Ext2/3; kommerziell)
    • GetDataBack (gut in Undelete, MBR, Formatwiederherstellung; im Rohdatenscan nur wenige Dateitypen; kommerziell)
  • Rohdatenscan:

Grundsätzlich erschweren fragmentierte Daten die Wiederherstellung,

Dateisystem Wiederherstellungschancen bei
fragmentierten Daten zusammenhängenden Daten
fat32 schlecht, mit FAT-Eintrag wird auch die Liste der Cluster gelöscht. gut, Verzeichniseintrag enthält Startposition
ext2/3 schlecht, im Rohdatenscan wird meist nur der erste Teil gefunden Chancen im Rohdatenscan
ntfs gut, Verzeichniseintrag enthält eine komplette List der Cluster („Run List“) in denen Daten zu finden sind

Partitionstabellen und/oder superblocks kaputt

Die superblocks enthalten wichtige Informationen über das Dateisystem, wie Größe, freier Speicher etc. (ähnlich der File Allocation Table bei FAT-Partitionen). Eine Partition mit defektem Superblock kann nicht eingehangen/gemountet werden.

Daher existieren auf der Platte auch mehrere Kopien davon. Mit dem Befehl

sudo mke2fs -n /dev/sdb1

kann man sich die Speicherorte alternativer Superblocks anzeigen lassen.

Mit einem der alternativen Superblöcke kann man dann reparieren (hier 8193)

e2fsck -b 8193 /dev/device

und dann neu booten.