Datenrettung mittels testdisk

Mit testdisk kannst du bereits gelöschte Dateien wiederherstellen. Testdisk ist ein Kommando-Zeilenprogramm und wird mit den Pfeiltasten und ENTER gesteuert.

# apt install testdisk
# testdisk

01. Starte testdisk. Beim ersten Start wird ein log-File angelegt.


02. Wähle das betroffene Laufwerk:


03. wähle den Partitionstyp aus. In der Regel wählt testdisk automatisch den korrekten Eintrag. Falls du keine exotischen Partitionstypen auf der Platte hast, wähle Intel/PC Partition (für ntfs, ext4, fat32 u. v. m)


04. gehe zu den erweiterten Einstellungen (Advanced)


05. da in diesem Beispiel nur eine Partition vorhanden ist, fällt die Auswahl leicht und wähle UNDELETE:


06. wähle SHIFT + : die einzelnen Dateien, welche du wiederherstellen möchtest und bestätige mit SHIFT + C
Gesteuert wird mit den Pfeiltasten oder pg up bzw. pg down


07. wähle hier den Zielordner. Der Zielordner muss natürlich genügend freien Speicher haben:


08. starte die Wiederherstellung mittels SHIFT + C

Da wir hier mittels root arbeiten, sind die wiederhergestellten Dateien auch root zugeteilt. Nach der Wiederherstellung kannst du die Berechtigung mittels chown ändern:

# chown -cR benutzer:benutzer /pfad/zum/zielordner/

Hinweis

Wähle das Anlegen eines log-Files. So kann im Nachhinein das log-File durchsucht werden, falls die Liste doch etwas gross werden sollte:

# nano testdisk.log

Datenrettung mit foremost

Foremost eignet sich hervorragend, um bereits gelöschte Dateien wieder herzustellen.

Schritt 1

Installiere auf deinem Linuxsystem foremost mit:

# apt install foremost

Schritt 2

Lasse nun foremost laufen. Foremost durchsucht nun das Dateisystem und legt alle gefunden Dateien (hier jpg-Bilder) unter dem Ordner /output ab. Bedenke dabei, dass dies lange dauern kann. Meine 1 TB Festplatte dauerte rund 2.5 Stunden. Dabei fand foremost rund 950000 Bilder mit einem Volumen von nahezu 85 GB. Prüfe vorher, ob /output also genügend freien Speicher besitzt!

# foremost -t jpg -i /pfad/zur/partition/sdbX

in diesem Beispiel durchsucht foremost also die angeschlossene Festplatte unter /pfad/zur/partition/sdbX und gibt alle gefundenen jpg-Bilder in /output aus. X und der Pfad müssen angepasst werden.

Schritt 3

Da foremost unter root lief, sind wir als normaler Benutzer noch nicht befugt, die gefundenen Bilder zu bearbeiten. Mit:

# chown -c -R BENUTZER /pfad/zu/output/

ändern wir die Rechte so, dass BENUTZER nun ohne root auf die Bilder zugreifen kann.

Schritt 4

Bilder unter 50 kB sind in der Regel Thumbnails oder Icons, welche getrost ignoriert werden können. Da wir jetzt einen Ordner mit vielen Bildern haben, macht es Sinn, einige davon zu löschen. In diesem Beispiel löschen wir alle Bilder unter /output, welche kleiner als 50 kB sind:

$ find /pfad/zu/output -type f -size -50k -exec rm -f {} \;

Schritt 5

Unser Ordner hat aber immer noch sehr viele Bilder. Versuchen wir den Ordner mit einen Dateimanager zu öffnen, dauert das Erstellen der Vorschaubilder ewig. Nun splitten wir den Ordner /output so auf, dass sich jeweils 1000 Bilder in einem Unterordner befinden. Erstelle unter /output mit nano eine Datei (z.B. meinscript.sh)

$ nano -w meinscript.sh

und füge nun folgenden Code ein:

#!/bin/bash
target=»$RANDOM»_»$RANDOM»_»$RANDOM»
mkdir «$target»
mv -t «$target»/ «$@»

das Script muss noch ausführbar gemacht werden mit:

$ chmod +x meinscript.sh

Mit dem printf-Befehl:

$ printf "%s\0" *.jpg | xargs -0 -n 1000 ./meinscript.sh

splitten wir nun den gesamten Ordner auf. Dabei landen exakt immer 1000 Bilder in einem entsprechenden Unterodner. Nun können wir die gefundenen Bilder in akzeptabler Zeit durchscrollen.

Hinweis

foremost findet jedoch nicht nur Bilder und ist durchaus in der Lage, weitere Formate zu finden. Dazu einfach den entsprechenden Schalter anwenden. Weiter Infos findest Du hier

$ foremost -t all -i /pfad/zur/partition/sdbX

Dieser Befehl durchsucht die gesamte Festplatte oder Partition nach allmöglichen Dateien. Doch Vorsicht: unbedingt prüfen, ob /output genügend freien Speicher besitzt. Eine 1 TB Festplatte kann unter Umständen auch knapp 1 TB an Dateien liefern!