Vorgehen einer Datenrettung
Hinweis: Die hier aufgelisteten Tools und Befehle wurden ausschließlich unter Linux getestet.
Vorbereitungen
1. Mit ddrescue ein Abbild des kompletten Datenträgers erstellen
Als Faustregel gilt: Ein komplettes Image des Datenträgers anfertigen, damit wir damit rumspielen können, ohne noch mehr kaputt zu machen.
ddrescue -d -r 3 /dev/sda1 image_file.img ddrescue.log
-d = Direct I/O (Kernel cache umgehen - kein Abbruch bei fehlerhaftem Lesevorgang)-r 3 = Bad blocks 3 mal versuchen zu lesen
Achtung: Bei einem versagendem Laufwerk empfiehlt es sich, diese Option beim ersten Mal weg zu lassen, um keine Zeit mit der Suche nach fehlerhaften Sektoren zu verschwenden und das Risiko eines Totalausfalls zu minimieren. Die Logfile kann jederzeit verwendet werden, um Daten von fehlerhafte Sektoren zu kopieren, auch nachdem bereits ein Image vom ersten Durchlauf angefertigt wurde.ddrescue.log = Logfile - erlaubt das fortsetzen und überprüfen fehlerhafter Sektoren (sollte stets angeben werden)
2. Image mit SquashFS komprimieren, um bessere Handhabung zu ermöglichen
SquashFS ermöglicht das direkte mounten eines komprimierten Images ohne dies vorher dekomprimieren zu müssen. Mit dem SquashFS Image versuchen wir die Datenrettung. Da SquashFS nur Read-Only ist, kann kein Schaden am Image entstehen, jedoch können dadurch auch keine Reparaturen am Dateisystem selbst durchgeführt werden.
mksquashfs image_file.img image_file.squash.img -comp zstd
-comp zstd = Als Kompressionsalgorithmus Zstd nutzen
Falls eine Image Datei in einem bereits anderen komprimierten Format vorliegt, kann dies z.B. wie folgt umgewandelt werden:
7z x image_file.img.7z -so | mksquashfs empty-dir image_file.squash.img -comp zstd -p 'image_file.img f 644 0 0 cat'
Leerer Ordner "empty-dir" muss vorhanden sein (kann danach gelöscht werden).
Mksquashfs unterstützt Stdin nicht direkt, daher wird per "-p" eine Dummy-File erzeugt und mittels cat der Stdin übergeben.
Nach erfolgreicher Anfertigung des SquashFS Images kann die originale Image-Datei gelöscht werden. Sollte diese wieder benötigt werden, kann sie mit folgendem Befehl wiederhergestellt/entpackt werden.
unsquashfs image_file.squash.img
Datenrettungsmethoden
Je nach Situation eignet sich die eine Methode besser für die Datenrettung als die andere. Oder eine Kombination mehrerer Methoden...
Image mounten und Dateien einfach kopieren
Hilfreich bei der Datenrettung eines versagenden Datenträgers oder Dateisystems.
mount -r image_file.squash.img /mnt/squash
mount -r /mnt/squash/image_file.img /mnt/image
rsync -av --progress /mnt/image/ /destination_dir
Simpler File System Check
Das Dateisystem darf hierfür nicht Read-Only geschützt sein. Ein File System Check direkt in einem SquashFS ist somit nicht möglich (da SquashFS nur Read-Only ist). Daher muss hierfür das originale Image genutzt werden.
fsck.<file-system>, also z.B. fsck.ntfs.
Die genaue Nutzung von fsck sollte im Vorfeld geprüft werden. Sie unterscheidet sich je nach Dateisystem.
Beispiel:
fsck.fat -a -w -v /mnt/squash/image_file.img
Für NTFS nutze stattdessen ntfsfix.
Verloren gegangene Daten finden und wiederherstellen
As erstes das SquashFS-Image mounten.
mount -r image_file.squash.img /mnt/squash
Dies dekomprimiert das darunterliegende Image "on-the-fly".
TestDisk
Erste Wahl in solchen Fällen. Empfohlen für die Wiederherstellung ganzer Dateistrukturen (ggf. inklusive Verzeichnisse und Dateinamen), sowie Reparatur eines beschädigten Dateisystems.
Das Tool benötigt keine besonderen Parameter. Alle Funktionen werden über ein praktisches Terminal UI Schritt-für-Schritt angeboten.
Es arbeitet sowohl auf der Bit-Ebene des Datenträgers (bzw. Images) als auch mit den typischen Eigenschaften des angegebenen Dateisystems, um die besten Chancen einer erfolgreichen und vollständigen Datenrettung zu haben.
testdisk /mnt/squash/image_file.img
PhotoRec
Teil von TestDisk. Empfohlen für die Wiederherstellung gelöschter oder verloren gegangener Dateien (besonders Bilder und Videos), wobei zugleich die Integrität dieser Daten sichergestellt werden kann.
Das Tool benötigt keine besonderen Parameter. Alle Funktionen werden über ein praktisches Terminal UI Schritt-für-Schritt angeboten.
Es arbeitet auf der Bit-Ebene des Datenträgers (bzw. Images) und ist somit unabhängig vom verwendeten Dateisystem. Verzeichnisse sowie Dateinamen können nicht wiederhergestellt werden.
photorec /mnt/squash/image_file.img
Foremost
Sucht nach bekannten Datei-Mustern.
Findet in der Regel alles, was irgendwie nach einer Datei aussieht und somit auch Daten aus "längst vergangener Zeit". Ein großer Teil der von Foremost wiederhergestellten Daten sind dadurch jedoch auch beschädigt oder unbrauchbar. Verzeichnisse sowie Dateinamen können nicht wiederhergestellt werden.
Es arbeitet auf der Bit-Ebene des Datenträgers (bzw. Images) und ist somit unabhängig vom verwendeten Dateisystem.
foremost -t all -i /mnt/squash/image_file.img -o recovery_dir
No comments to display
No comments to display