Seite 1 von 1
Versehentlich mit rm gelöschte Daten retten
Verfasst: 03.01.2019 20:40:39
von Richard
Hallo,
ich habe mich parallel über das Terminal auf meinem Raspberry Pi eingeloggt und die Terminalfenster verwechselt. Dabei hab ich rm * im falschen ausgeführt und dort das Benutzerverzeichnis leer geräumt (zum Glück nicht die Verzeichnisse und Dateien darin). Ein Backup besteht, jedoch hab ich an ein paar Skripten gebastelt, die noch nicht gebackupt wurden. Zumindest die würde ich gerne versuchen zu retten. Unter Windows konnte ich schon aus dem Papierkorn gelöschte Dateien mit einem Zusatztool wiederherstellen. Geht das auch bei ext4?
Das was hier
https://bbs.archlinux.de/viewtopic.php?id=20458 (#5) beschrieben wurde geht so irgendwie nicht. Bei
wird mir keine Inode nagezeigt, sondern nur
Code: Alles auswählen
20 drwxr-xr-x 23 ich ich 4096 Jan 3 20:22 /mnt/home/pi/
Die SD-Karte ist am PC angeschlossen und als read-only unter /mnt eingebunden.
Richard
Re: Versehentlich mit rm gelöschte Daten retten
Verfasst: 03.01.2019 20:51:40
von DeletedUserReAsG
extundelete könnte helfen. Ich würde ein Image erstellen und damit rumspielen.
Re: Versehentlich mit rm gelöschte Daten retten
Verfasst: 03.01.2019 21:01:23
von Richard
Da muss man aber (zumindest ist da in dem Link oben so gemacht worden) den genauen Pfad inkl. Dateinamen angeben, den weiß ich nicht genau. Ich bräuchte etwas wo man sich die wiederherstellbaren Dateien anzeigen lassen kann.
Hab mal --restore-all versucht, da wurden aber nur 4 Dateien wiederhergestellt und das hier ausgegeben:
Code: Alles auswählen
sudo extundelete /dev/sdf2 --restore-all
NOTICE: Extended attributes are not restored.
Loading filesystem metadata ... 32 groups loaded.
Loading journal descriptors ... 11872 descriptors loaded.
Searching for recoverable inodes in directory / ...
4 recoverable inodes found.
Looking through the directory structure for deleted files ...
1 recoverable inodes still lost.
Unable to restore inode 6004 (file.6004): No undeleted copies found in the journal.
Da muss es aber noch mehr geben. Bei NTFS sollte doch ein löschen aus dem Papierkorb technisch auch nichts anderes sein als das löschen hier bei ext4 mit rm.
Re: Versehentlich mit rm gelöschte Daten retten
Verfasst: 03.01.2019 21:05:45
von DeletedUserReAsG
Gibt noch photorec und testdisk. Bringt aber teils erheblichen Nacharbeitungsbedarf mit sich.
NTFS ist grundlegend anders, als ext4.
Re: Versehentlich mit rm gelöschte Daten retten
Verfasst: 03.01.2019 21:06:55
von heisenberg
Das wichtigste dabei:
Mit jeder weiteren Dateioperation sinken Deine
Chancen, dass Du Deine Daten wieder bekommst.
Also falls noch nicht geschehen: Imagebackup!
Re: Versehentlich mit rm gelöschte Daten retten
Verfasst: 03.01.2019 21:15:43
von Richard
Mit testdisk hat es funktioniert, gehören jetzt aber alle root da testdisk ja als root lief. Sonst müsste alles passen.
Mit jeder weiteren Dateioperation sinken Deine
Chancen, dass Du Deine Daten wieder bekommst.
Wenn ich die Partition als read-only eingebunden habe? Die SD-Karte hab ich gleich danach aus dem Pi entfernt.
Re: Versehentlich mit rm gelöschte Daten retten
Verfasst: 03.01.2019 22:22:59
von heisenberg
Richard hat geschrieben: 
03.01.2019 21:15:43
Mit jeder weiteren Dateioperation sinken Deine Chancen, dass Du Deine Daten wieder bekommst.
Wenn ich die Partition als read-only eingebunden habe? Die SD-Karte hab ich gleich danach aus dem Pi entfernt.
Read-only ist unkritisch. .o0 (die Anmerkung hatte ich wohl überlesen...)
Re: Versehentlich mit rm gelöschte Daten retten
Verfasst: 04.01.2019 13:49:13
von Richard
Hat doch nicht funktioniert, die Dateien waren alle leer mit 0 Byte, das hatte ich bisher nicht gesehen. Hab daher nochmal extundelete versucht, da kommt
Code: Alles auswählen
NOTICE: Extended attributes are not restored.
Loading filesystem metadata ... 32 groups loaded.
Loading journal descriptors ... 11874 descriptors loaded.
extundelete: Unable to open file lg-uj6519.conf
extundelete: Operation not permitted when trying to examine filesystem
Daraus werd ich erstmal nicht schlau.
Was macht denn ext4 anders als NTFS im Bezug auf die Behandlung gelöschter Dateien? Soweit ich das verstehe löscht NTFS erstmal nur den Hardlink zu den beschriebenen Blöcken. Sind diese dann auch überschrieben - weil das FS weiter genutzt wurde - ist die Datei wirklich weg. Bis daher sollte sie aber zu retten sein.
Re: Versehentlich mit rm gelöschte Daten retten
Verfasst: 04.01.2019 15:10:32
von rendegast
linux ist wohl recht flott eingestellt, rm-Kandidaten "nachzubehandeln".
Beziehe mich auf superblock-Kopien und Nachnullen belegter Datenblöcke.
(EDIT) Generell zum Wiedererlangen gelöschter Dateien:
Falls noch irgendein Prozeß auf die Datei zugreift, gelingt der Zugriff auf den >Inhalt< der gelöschten Datei recht einfach über
/proc/XXX/fd/
/proc/XXX/task/YYY/fd/
XXX / YYY können mit 'lsof' ermittelt werden.
Re: Versehentlich mit rm gelöschte Daten retten
Verfasst: 04.01.2019 16:01:19
von Richard
Den Pi hab ich gleich ausgeschaltet und die SD-Karte am PC angeschlossen. Es laufen also keinerlei Prozesse mehr.
Re: Versehentlich mit rm gelöschte Daten retten
Verfasst: 04.01.2019 17:54:48
von Apfelmann
photorec liest alles aus und speichert in Verzeichnisse mit jeweils 500 Dateien, die numerisch benannt sind,
das Zielverzeichnis zum Retten sollte mindestens so groß wie die Partition / SD-Karte mit den gelöschten Dateien.
LG
Re: Versehentlich mit rm gelöschte Daten retten
Verfasst: 04.01.2019 18:28:32
von debianoli
Richard hat geschrieben: 
04.01.2019 13:49:13
Hat doch nicht funktioniert, die Dateien waren alle leer mit 0 Byte, das hatte ich bisher nicht gesehen. Hab daher nochmal extundelete versucht, da kommt
Code: Alles auswählen
NOTICE: Extended attributes are not restored.
Loading filesystem metadata ... 32 groups loaded.
Loading journal descriptors ... 11874 descriptors loaded.
extundelete: Unable to open file lg-uj6519.conf
extundelete: Operation not permitted when trying to examine filesystem
Daraus werd ich erstmal nicht schlau.
Du hast die Karte Read-Only gemountet, da kann extundelte nicht daraufschreiben.
Am Besten erstellst du per dd ein Image der Karte und lässt auf dieses image-File extundelete los, und das sinnvollerweise mit der Datums-Option --after dein_Löschdatum_im_Unix_format