Linux – Datarecovery mit QPhotoRec

Wer kennt das nicht ? Eine Datei aus Versehen gelöscht und wie kommt man an die jetzt wieder ran ? Da kommt QPhotoRec ins Spiel.

Bevor wir uns aber dem Recoverytool zuwenden, müssen wir erst mal klarstellen, was beim Löschen von Dateien passiert.

Festplatten haben physikalische Sektoren fester Länge, welche die Elektronik der Festplatte mit Hilfe des Schreiblesekopfes einzeln ansprechen kann. Das alleine hilft aber beim Speichern von Daten nicht. Erst das Dateisystem(Filesystem) erzeugt eine logische Struktur in diesen Datenblöcken, so daß man Dateien mit Daten überhaupt erst anlegen und verwalten kann.

Dazu speichert sich das Filesystem eine Liste mit bereits belegten Speicherblöcken und ein Baumdiagramm der Dateistruktur, was z.B. eine verlinkte Liste von Namen sein kann, zu denen noch der erste Block der Datenblöcke vermerkt ist. Ohne weiter ins Detail zu gehen, speichert so ein Filesystem noch eine ganze Menge an anderen Daten, z.b. Zugriffsrechte, Erstellungsdatum, Länge usw. .

Im Prinzip besteht ein Directoryeintrag aka Filename nur aus einer Referenz auf einen Datenblock und eine Referenz auf einen Block mit Metainformationen wie Name, Datum usw.  . Wenn man jetzt in dem „Directory“ in dem sich die Datei „befindet“ die Referenzen zu diesen beiden Blöcken löscht, und die Blöcke des Datenteils der Datei aus der Liste der belegten Blöcke löscht, ist die Datei „weg“, aber die Daten sind noch auf der Platte gespeichert. Das Filesystem weiß bloß nichts mehr darüber. Der Inhalt der ehemaligen Datei ist aber noch da, bis die Datenblöcke neu beschrieben werden.

Das Linuxproblem

Und da kommt uns jetzt Linux in den Weg, denn ein Linuxsystem schreibt laufend neue Informationen auf mindestens die Systemfestplatte, so daß es i.d.R. nicht lange dauert, bis so ein freier Datenblock mit neuen Infos überschrieben wird.

D.b. wir müssen schnell sein und wir müssen weise handeln.

Als ersten zieht man mal den Strom vom PC ab!

WAAASSSSS !?!?!?!

„Das kannst Du nie im Leben ernst meinen!“

Ich fürchte doch, kommt aber drauf an, wo man was gelöscht hat 🙂 Auf der Systemplatte werden laufend Dateien geschrieben. D.b. das es je nach freiem Platz, schnell geht, bis die ehemaligen Dateiblöcke überschrieben sind.

Bei modernen Installationen sind /home/ und einige andere Mountpoints nicht auf der Systempartition, sondern auf einer eigenen Partition. Wenn man in /home/ was gelöscht hat, dann braucht Ihr den Rechner natürlich nicht gleich vom Strom trennen! Hier könnt Ihr den Teil mit Abschalten und von Livedisk booten überspringen und gleich zum Recovery übergehen.

Wenn man aber etwas wichtiges auf der Systemplatte/partition gelöscht hat, muß man schnell sein. Ein verschärfendes Problem ist, daß beim Runterfahren eines Computers auch Daten geschrieben werden, z.b. merken sich diverse Programme wo sie waren, als Sie beendet waren. z.B. FireFox 🙂 Wäre das nicht fatal, wenn man beim Runterfahren um Daten zu retten, genau diese Daten mit eigentlich nutzlosen Infos übernageln würde ?! Zusätzlich wird der Inhalt des Filesystemramcaches auf die Platte gesynct, was VIEL Schreiben beinhalten kann. Um das nicht stattfinden zu lassen, bleibt leider nur der harte Reboot.

ACHTUNG: Sie machen das auf eigene Gefahr, DENN weil genau z.b. das Syncen des Filesystemcaches aus dem Ram auf die Platte nicht stattfindet UND Schreibzugriffe im laufenden Betrieb unterbrochen werden, KANN (und WIRD) das Filesystem weiter beschädigt. Dies KANN zu einem Datenverlust führen.  Journalingfilesysteme gibt es nicht umsonst, benutzt die, die haben genau dagegen wirksame Mechanismen!

Der harte Reset

Damit beim Booten die Datenblöcke nicht überschrieben werden, weil z.b. Tempdateien erzeugt werden, MUß man von einer LiveDisk starten, idealerweise mit der aktuellen Rettungscd, wo QPhotoRec schon drauf ist.

Da QPhotoRec ROOT Rechte braucht, müßt Ihr wissen wie Ihr dort dann ROOT werdet und QPhotoRec aus der Root-Bashshell startet!

Das Recovery

Ihr startet also QPhotoRec als Root und seht das :

Photorec

Schritt 1:

Mit der Selectbox das Medium auswählen, daß man „retten“ will. Oben ist das /dev/sdd mit einem USB Stick.

Schritt 2 :

Die Partition aussuchen in der man was gelöscht hat, ODER gleich die ganze Platte durchsuchen lassen. Liegt bei Euch. Alles durchsuchen zu lassen dauert eine ganze Weile länger, fördert i.d.R. aber auch mehr zu Tage.

Schritt 3 :

Das Speichermedium für die geretteten Daten auswählen , im Beispiel oben /media/recovery .

LOGISCHERWEISE rettet man seine Daten NICHT auf das Medium von dem Sie stammen, weil man dabei natürlich die freien Datenblöcke übernagelt! Also IMMER auf eine andere Partition/Platte/USB-Stick/Cloud-Speicher retten.

Schritt 4 :

„SEARCH“ drücken und Kaffee trinkengehen.

Wenn man fertig ist, sieht das so aus :

Ergebnis von Photorec

Wenn man jetzt QPhotoRec beendet, kann man in dem Speicherort nachsehen was man bekommen hat.

Es wird nicht nur die eine Datei dabei sein und, todsicher wird die nicht den gleichen Namen haben wie früher. Akzeptierts einfach, der Name ist für immer verloren 🙂 Ihr könnt Euch nur an dem Dateitype (z.b. der Endung) und der Größe orientieren. Da immer mal wieder was auf einer Platte gelöscht wird, besteht auch immer die Möglichkeit was zu finden, was man nicht gesucht hat. Das Recoverytool kann das natürlich nicht wissen, es sucht nur nach zusammenhängenden Dateiblöcken.

Da QPhotoRec nur ein einfaches Programm ist, ist der Beitrag hier zu Ende.

Kleiner Hinweis: USB Sticks sind aufgrund der Hardware nicht die besten Beispielmedium zum Retten, aber bevor ich das erklärt habe, ist Ostern 🙂 Wer es trotzdem wissen will, liest es hier nach : Mit LUKS einen USB Stick verschlüsseln

Und bevor Ihr ein Problem habt, daß es beim Retten nur noch schlimmer macht, setzt einfach Backups ein 😉

Nautilus: FileChooser Verzeichnisse vor Dateien

Seit Fedora 21 hat Nautilus mal wieder im Dateiauswähler die Verzeichnis in den Dateien angezeigt, also alphabetisch sortiert. Das ist natürlich nicht schön.

Bei Fedora 23 gings mir endlich genug auf den Keks um eine Lösung zu finden :

  1. dconf-editor öffnen
  2. dem Pfad org.gnome.nautilus.preferences  folgen
  3. Die Option sort-directories-first  anhaken.

Das wars schon. Warum das wieder eine eigene Option ist und man das im Dateiauswähler anders machen muß als im normalen Fenster, wird immer ein Rätsel bleiben, genau wie die Frage, wieso die Entwickler von Nautilus uns die Megagroßen Icons auf dem Desktop aufzwingen, statt das bis auf 8×8 skalierbar zu machen, zumal es ja Vectoricons sind .

Nautilus: zeigt verstecke Dateien an

man sagt zwar „Hartnäckigkeit führt einen ans Ziel“, aber wenn Computerprogramm hartnäckig sind, kann das sehr frustrierend sein. So geht es auch in diesem Beitrag um einen hartnäckigen Fehler, der sich leicht beseitigen läßt, wenn man es weiß.

Nautilus und die versteckten Dateien

Versteckte Dateien sind zwar eine Erfindung von Unix, aber auf fast allen Filesystem dieser Welt (nicht) zu finden. Im Linuxfilesystem werden versteckte Dateien mit einem Punkt am Anfang markiert, z.B. „.htaccess“

Diese Datei würde bei einem normalen Auflisten der Dateien nicht zu sehen sein. Nur wenn man explizit angibt, daß man diese sehen will, findet man sie auch. Gemacht wird dies oft, um Configdateien zu schützen oder Menschen nicht von wichtigen Sachen abzulenken.

Machen Sie doch mal mit Nautilus das Homeverzeichnis auf und drücken Sie auf CTRL+H / STRG+H .

Damit können Sie die Darstellung umschalten.

Nautilus Defaulteinstellungen

Wenn Sie immer die versteckten Dateien sehen wollen, müssen Sie das in den Einstellungen von Nautilus abstellen. Dazu gibt es zwei Wege, da wir einen Weg brauchen werden für den es keine Alternative gibt, bleiben wir bei einer Lösung: dem Dconf-Editor .

1. Starten Sie den Dconf Editor :  dconf-editor
2. Klappen Sie sich den Weg frei zu : org->gnome->nautilus->preferences
3. den Haken bei show-hidden-files entfernen

Wie diesen starten können, habe ich in diesem Beitrag schon erklärt:  „zuletzt-verwendet-abschalten“

Wenn Sie Nautilus jetzt neu starten und wie ich immer noch versteckte Dateien angezeigt bekommen, dann zeigt sich ein Bug von Nautilus bei Ihnen. Da kommen Sie nie alleine drauf !

Nautilus, der Dateiauswähler

Nautilus wird auch benutzt, wenn andere Programm eine Datei auswählen wollen. Dabei kann es passieren, daß Sie z.b. eine versteckte Datei sehen wollen und STRG+H drücken oder auswählen. Leider merkt sich Nautilus dies in einer anderen Einstellung, dem File-Chooser Objekt

1. Starten Sie den Dconf Editor :  dconf-editor
2. Klappen Sie sich den Weg frei zu : org->gtk->settings->file-chooser
3. den Haken bei show-hidden-files entfernen

Jetzt endlich kann man wieder freie Sicht auf die wichtigen Dateien bekommen, wenn man Nautilus öffnet.