Ext4magic-Manpage







Ext4magic: Inode - Directory - Journal - Installation - Zeit-Optionen - Tricks&Tipps - Manpage - Expert-Mode




ext4magic(8)

Administrations Tool

ext4magic(8)



BEZEICHNUNG

ext4magic - erlaubt das Wiederherstellen von gelöschten Dateien in ext3/4 Filesystemen



"ÜBERSICHT"

ext4magic {-M|-m} [-j <journal_file>] [-d <target_dir>] <filesystem>

ext4magic [-S|-J|-H|-V|-T] [-x] [-j <journal_file>] [-B n|-I n|-f <file_name>|-i <input_list>] [-t n|[[-a n][-b n]]] [-d <target_dir>][-R|-r|-L|-l] [-Q] <filesystem>



BESCHREIBUNG

Der Löschvorgang von Dateien in einem ext3/4 kann nicht einfach rückgängig gemacht werden. Das Zerstören der Blockreferenzen in den Inode macht das unmöglich. Erfahrungen mit anderen Programmen haben gezeigt, es ist oft möglich ausreichende Informationen für ein Recover solcher Dateien direkt aus dem Filesystem Journal zu gewinnen. ext4magic kann diese Informationen aus dem Journal gewinnen, und kann damit von ganzen Verzeichnisbäumen Kopien der gelöschten Dateien anfertigen, soweit die Informationen im Journal dazu ausreichen. Diese Tool kann die meisten Dateitypen wiedergewinnen, kann mit großen und Sparse Dateien umgehen, erstellt die Dateien unter dem ursprünglichen Dateinamen, mit den ehemaligen User- und Zugriffsrechten. Es setzt soweit möglich auch wieder die alten Zeitmarken der Dateien.

Das Filesystem Journal hat eine ganz andere Aufgabe, die Daten im Journal sind auf die Aufgabe der Journalfunktionen abgestimmt. Mit diesen Daten ist es nicht immer möglich wirklich jede Datei zu jeder Zeit wieder herzustellen. Viele Faktoren haben eine Auswirkung welche Daten sich im Journal befinden und wie lange sie dort verweilen bis sie überschrieben werden. Erläuterungen und Ausführungen dazu sind in der Dokumentation von ext4magic zu finden.



OPTIONEN

Magic Optionen: Diese Optionen bewirken ein mehrstufiges Wiederherstellen der Dateien, und sind speziell für den Fall

eines rekursiven Löschens von Dateien oder des gesamten Filesystems abgestimmt. (die letzte Stufe ist derzeit nur für ext3 verfügbar)

Umounte das Filesystem möglichst bald nach einem versehentlichem Löschvorgang und verhindere möglichst weitere Schreibvorgänge. Benutze diese Funktionen mit dem nicht eingehängten Filesystem oder mit einer Kopie vom Filesystem. Das Programm wird automatisch die optimalen Zeitoptionen finden und benutzen, solange der Löschvorgang nur relativ kurze Zeit (<5 Minuten) gedauert hat. Für sehr lange Löschvorgänge, oder Löschungen in Verbindung mit verschieben der Dateien aus dem Filesystem heraus, muss eine AFTER-Zeit manuell gesetzt werden. (unmittelbar vor den Beginn der Löschung).
Der letzte Abschnitt ist der Recoverversuch aller nicht über Inode Kopien gefundenen Dateien mittels einer speziellen "File-Carving" Funktion. Dieses kann durchaus eine lange Zeit beanspruchen.

-M

Versuch des Recovern aller Dateien im Filesystem. Diese Option ist anzuraten wenn das gesamte Filesystem gelöscht wurde.

-m

Versucht nur gelöschte Dateien zu recovern. Diese Option ist anzuraten wenn nur Teile des Dateisystems gelöscht wurden.



Informations Optionen: Diese Optionen erzeugen generische Status Informationen vom Filesystem und vom Journal.

-S

Ausgabe des Filesystem Superblock. Die Option "-x" erlaubt zusätzlich die Ausgabe der Gruppen Descriptor Tabelle

-J

Ausgabe des Inhaltes des Journal Superblock. Diese Option kann auch genutzt werden um das Laden des Journals zu forcieren, welches die Ablaufsteuerung von ext4magic bei einigen Optionen verändert.

-H

Ausgabe des Histogramm der Zeitstempel von allen Filesystem Inode. Erlaubt die exakte Zeit von größeren Veränderungen im Filesystem zu ermitteln. In Verbindung mit einer Verzeichnisangabe oder der Inodenummer eines Verzeichnisses werden nur die Inode ausgewertet, die zum Dateibaum mit Start in diesem Verzeichnis, gezählt werden können. Es werden nicht alle Änderungen ausgewertet, sondern nur eine pro Inode, entweder die letzte Änderung der Inode oder die Löschung der Inode werden angezeigt. Soweit vorhanden (ext4) wird ein zusätzliches Histogramm mit der create Time der Inode angezeigt.

Die zusätzliche Option "-x" erlaubt eine bessere Auflösung der Zeitintervalle.

-V

Ausgabe der Version von ext4magic und libext2fs

-T

Ausgabe der gesamten Transaktions Liste von allen Kopien der Daten Blöcke im Journal. In Verbindung mit "-B" ; "-I" und "-f" werden nur die jeweiligen dazugehörigen Datenblöcke für diese Daten ausgegeben. Die zusätzliche Option "-x" erlaubt bei Inodeblöcken zusätzlich die Ausgabe der wahrscheinlichen Transaktionszeit. Der Ausdruck erfolgt in der selben Reihenfolge in der die Daten im Journal stehen. Dadurch können Rückschlüsse auf den Datenbestand im Journal getroffen werden. Nach Backups oder anderen Aktionen die Zeitstempel von Inode verändern, ist es möglich, das nicht die Transaktionzeit angezeigt wird. Werden hier jedoch völlig falsche Zeitdaten angezeigt, sollte geprüft werden ob das Journal zu einem zur Zeit zum Schreiben geöffneten Filesystems gehört, oder es eine Kopie eines zum Schreiben geöffneten Filesystems ist.

-x

Diese Option steuert das Ausgabeformat und den Informationsgehalt von einigen Optionen. Betroffen sind folgende Optionen: -S ; -H ; -T ; -B ; -I ; -f ; -L ; -l detaillierte Informationen siehe dort.




Auswahl Optionen: Diese Optionen spezifizieren die genaue Datei, Verzeichnis oder den genauen Datenblock. Auf der einen Seite werden mit ihnen spezielle Informationen abgerufen, auf der anderen Seite dienen sie der Adressierung für die Aktions Optionen. ext4magic akzeptiert immer nur eine dieser Optionen im Kommandoaufruf.

-B n

"n" ist die Datenblocknummer des Filesystem Blocks. Ohne weitere Optionen wird ein "Ein-Byte Hex+ASCII" Dump des Datenblockes ausgegeben, analog der Ausgabe von "hexdump -C" . Die zusätzliche Option "-x" erzeugt ein "4 Byte Hex+ASCII" Ausgabe.

In Verbindung mit der Option "-t n" erfolgt die Ausgabe der Kopie dieses Blockes aus dem Journal mit der entsprechenden Transaktions Nummer welche bei "-t" angegeben wurde.

# ext4magic /dir/filesytem.iso -B 97 -t 22

Der Hexdump der Kopie vom Filesystem Block Nummer 97, welche in der Transaktion 22 ins Journal geschrieben wurde. Alle sich im Journal befindlichen Transaktions Nummern für einen Block kann mit der Option "-T" ermittelt werden.

# ext4magic /dir/filesystem.iso -B 97 -T

Ausdruck einer Liste aller Kopien des Filesystem Blocks 97 mit den dazugehörigen Transaktion Nummern. Wenn es sich bei diesem Block um einen Inodeblock handelt, kann mit der Option "-x" noch zusätzlich die Transaktionszeit ausgegeben werden.


-I n

"n" ist die Inodenummer. Ohne eine andere Option ist die Ausgabe der Inhalt der aktuellen Inode des Filesystems. Mit der zusätzlichen Option "-x" erfolgt die Ausgabe einer Liste aller in dieser Inode adressierten Datenblöcke. Ist die Inode ein Verzeichnis, wird der Inhalt der Verzeichniseinträge mit ausgegeben.

In Verbindung mit einer der folgenden Optionen: "-T" ; "-J" ist der Inhalt nicht die reale Inode des Filesystems. Es werden dann alle sich unterscheidenden Inodekopien dieser Inode aus dem Journal ausgegeben.

Mit der Option "-t n" wird nur der Inhalt der Inode aus der Transaktion "n" ausgegeben.

Die Option "-I n" kann auch in Verbindung mit den Optionen "-L" ; "-l" ; "-r" ; "-R" angegeben werden, siehe dort.


-f <filename>

Das hat die selbe Funktion wie die Option "-I n" nur wird hier der "<filename>" anstatt der Inodenummer angegeben. ext4magic versucht im Filesystem die entsprechende Inode zu finden. Der Filename kann sowohl ein Dateiname als auch ein Verzeichnisname sein. Diese Filename muss vom Root-Verzeichnis dieses Filesystems aus, eingegeben werden, nicht vom Root Verzeichnis von Linux.

Ein Beispiel: Der Mountpunkt für das Filesystem ist "/home" und der komplette Linux Dateiname lautet /home/usr1/Document". In ext4magic ist jetzt an zugegeben :

# extmagic /dev/sda3 -f usr1/Document

Das Rootverzeichnis eines Filesystems kann angegeben werden entweder
" -f / " oder " -f "" " beides ist für ext4magic das selbe.

In allen anderen Fällen sollte immer das führende "/" für alle Dateinamen und das abschließende "/" in allen Verzeichnissen nicht angegeben werden.



Expert Options: (neu seit 0.2.1) Der optionale Expert-Mode muss beim kompilieren aktiviert werden mit der Option "--enable-expert-mode" bei confgure. Dadurch wird es möglich auch defekte Dateisysteme zu öffen und die Daten daraus zu recovern. In der aktuellen Version ist es so möglich die Superblock Backups zu nutzen, bei defekter Journal Inode diese aus dem Superblock zu rekonstruieren, und alle unbeschädigten Dateien eines teilweise überschriebenen oder defekten Filesystems wieder herzustellen.



-s Blocksize -n Blocknummer

mit diesen beiden Optionen kann ein Superblock Backup ausgewählt werden. Als Blocksize kann der Wert 1024, 2048, oder 4096 gesetzt werden. Die Blocknummer ist die Nummer des Filesystem Blocks die genutzt werden soll. Die Blocknummern in denen sich solche Backups befinden sind abhängig von der Blocksize. Hier sind die selben Werte für Blocksize und Blocknummern zu verwenden wie auch bei fsck oder debugfs.


Die beiden Optionen müssen zwingend in folgender Reihenfolge verwendet werden "-s ... -n ..."

-c

Damit wird erzwungen die Journal Inode aus dem Daten des Superblock zu gewinnen. Dieses kann helfen, wenn der erste Inode Block des Filesystems defekt ist.

-D

es wird versucht alle aktuellen Dateien von einem defekten Filesystem zu recovern. Die Kombination aller dieser Expert Optionen versucht ein Recover wenn der Superblock und der Beginn des Filesystems beschädigt oder überschrieben sind. Diese kann aber nur funktionieren, wenn nicht vorher schon versucht wurde mittels e2fsck das Filesystem zu reparieren.

Beispiel : die ersten paar Megabyte des Filesystems sind überschrieben. Der folgende Befehl versucht alle unbeschädigten Dateien in das Zielverzeichnis "/tmp/recoverdir" zu kopieren.

# ext4magic /dev/sda1 -s 4096 -n 32768 -c -D -d /tmp/recoverdir

-Q

Diese Option ist eine "high quality Option" für das Wiederherstellen und nur in Verbindung mit " -r " und " -R " wirksam. Ohne diese Option, es ist möglich die BEFORE Zeit auf eine Zeit zu setzten zu der die Dateien schon gelöscht sind. Das Ergebnis ist dann die maximal mögliche Anzahl an recoverten Dateien. Es ist dabei nicht zwingend notwendig, das auch die jeweils zeitlich passenden Kopien der Verzeichnis Daten im Journal gefunden werden. Dadurch ist es allerdings möglich, das ein paar Dateien zu viel gefunden werden. In diesem Modus ist es nicht möglich wieder benutzte Inode eindeutig zu bemerken. Es müssen alle Dateien hinterher überprüft werden und fehlerhafte von Hand gelöscht werden.

Mit der Option "-Q" arbeitet ext4magic genauer, und kann solche fehlerhaften und doppelte Dateien weitestgehend vermeiden. Damit dieses richtig funktioniert, sind zeitlich passende Kopien der Verzeichnis Daten im Journal notwendig. Nicht von allen Verzeichnissen werden sich solche alten Blockkopien im Journal finden lassen. Nur Verzeichnisse in denen in letzter Zeit Dateien angelegt oder gelöscht worden sind, könnten solche Blockkopien im Journal hinterlassen haben. Von Verzeichnissen in denen seit langer Zeit keine Veränderungen aufgetreten ist, werden keine solchen Kopien zu finden sein. Werden diese passenden Verzeichnis Daten nicht gefunden, ist es möglich, dass nicht alle gelöschten Dateien gefunden und somit auch nicht wieder hergestellt werden. Diese Option ist deshalb nur auf ausgewählte Verzeichnisse anwendbar, und sollte mit Vorsicht eingesetzt werden.





Zeit Optionen: Mit diesen Optionen wird die Zeit spezifiziert in welcher das Programm nach Zeitmarken in den Journaldaten sucht. ext4magic benötigt für die meisten internen Funktionen zwei Zeiten. Eine Zeit "AFTER" und eine Zeit "BEFORE"

Gefundene Inodekopien werden nur akzeptiert, wenn sie nicht gelöscht sind sowie die Zeitstempel kleiner als "BEFORE" sind. Wenn die Löschzeit kleiner als "AFTER" ist, dann wird die Inode ebenfalls nicht benutzt. ext4magic versucht immer für die Verzeichnisinode die zeitlich dazu passenden Datenblöcke als Kopien zu finden. Für einen Recover muss "BEFORE" auf eine Zeit gesetzt werden, in der die Datei gelöscht ist, oder unmittelbar vor den Löschvorgang, und die "AFTER" Zeit sollte gesetzt sein auf eine Zeit in der die Datei existiert hat. Inode und Verzeichnisse mit Zeitstempeln die nicht innerhalb dieser Zeitmarken sind, werden übersprungen und nicht benutzt.

Bei der default Einstellung, ohne eine Zeitoption, wird ext4magic für "BEFORE" die aktuelle Zeit "jetzt", also die Zeit der Ausführung des ext4magic Befehls setzen, und die "AFTER" wird auf "jetzt - 24 Stunden" gesetzt. Wird versucht ohne die Angabe von Zeitoptionen zu recovern, werden nur gelöschten Dateien der letzten 24 Stunden gefunden. Wurde ein paar Tage gewartet bis zum Recoverversuch müssen also immer Zeitoptionen mitgegeben werden, sonst wird nichts gefunden.(Ausnahme bei den Magic Optionen -M an -m)

-a n

Damit wird die "AFTER" Zeit gesetzt

-b n

Damit wird die BEFORE Zeit gesetzt

"n" ist dabei die Anzahl der Sekunden seit 01.01.1970 00:00:00 (UTC). Diese Zeitformat ist in einer Reihe von Ausgaben von ext4magic mit enthalten kann von dort direkt genutzt werden. Dieses Format kann auch auf der Konsole mit dem Kommando "date" erzeugt werden und so innerhalb der Konsolzeile von ext4magic verwendet werden.

-a $(date -d "-3day" +%s) -b $(date -d "-2day" +%s)

Dieses Beispiel setzt AFTER = "jetzt - 36 Stunden" und BEFORE = "jetzt - 24 Stunden"

-t n

Dieses ist eine indirekte Zeitoption. Sie kann verwendet werden zusammen mit den Optionen -B  ; -I ; -f. Der Wert für "n" ist die Transaktionsnummer. Mit dieser Option kann direkt von der Indoe dieser Transaktionsnummer aufgelistet, oder recovert werden. Alle Transaktionsnummern sind zu finden mit der Option "-T" oder in den Ausgaben der Inodeinhalte.



Datei-, Ein- und Ausgabe Optionen: Mit dieser Optionsgruppe wird das zu untersuchende Filesystem und andere Datei Ein- und Ausgaben zur Steuerung von ext4magic kontrolliert.

<filesystem>

legt das Filesystem fest und muss immer gesetzt werden. <filesystem> kann ein Blockdevice mit einem ext3/4 Filesystem sein, es kann aber auch ein unkomprimiertes Image einer solchen Partition benutzt werden.

-j <journal_file>

Optional kann hiermit eine externe Kopie eines Journals als File verwendet werden. Ohne diese Option wird automatisch immer das interne Journal, oder ein eventuell konfiguriertes externes Journal auf einem Blockdevice benutzt, so wie es im Filesystemsuperblock hinterlegt ist.

-d <target_dir>

Hiermit wird das Ausgabe Verzeichnis festgelegt. Hierhin werden die wiederhergestellten Datein geschrieben. Sollte es nicht existieren, wird es angelegt. Die default Einstellung von ext4magic ist das Verzeichnis "RECOVERDIR/" im aktuellen Verzeichnis von dem aus das Kommando gestartet wird. Dieses Verzeichnis darf sich nicht im gleichem Filesystem befinden, welches gerade untersucht wird. Das Filesystem in dem die wiederhergestellten Daten geschrieben werden, sollte ebenfalls ein ext3/4 Filesystem sein. Andere nicht Linux konforme Filesysteme werden ansonsten hier beim Recovern einige Fehler ausgeben, weil die Zugriffsrechte und Eigenschaften der Dateien nicht wiederhergestellt werden können. Es sollte immer zuerst mit der Konsole auf ein geeignetes Filesystem gewechselt werden bevor Dateien recovert werden sollen, oder es ist mit der Option "-d" ein geeignetes Verzeichnis anzugeben.

-i <input_list>

"input_liste" ist eine Eingabe Datei. Sie muss Dateinamen in Doppelten Anführungszeichen enthalten. Die Dateien in dieser Liste werden recovert zusammen mit einer der Optionen "-r" oder "-R"

Leere Zeilen, nicht sauber in Anführungszeichen eingeschlossene Dateinamen und alle vor und nach dem Bereich der Anführungszeichen wird ignoriert. Solche Listen mit (double quoted) Dateinamen können mit der Option "-l -x" oder "-L -x" erzeugt werden und mit Hand oder durch Script editiert werden.





Aktions Optionen: Diese Optionsgruppe beinhaltet List- und Recoveroptionen. Allen Optionen gemeinsam ist, sie arbeiten rekursiv durch Verzeichnisbäume und werden von den Zeitoptionen beeinflusst. Das Startverzeichnis für die Suche wird in Form eines Verzeichnisnamens oder der Inodenummer eines Verzeichnisses angegeben. Voreingestellt ist das Rootverzeichnis dieses Filesystems. Entsprechend der Zeitoptionen werden aus dem Journal die am besten passende Filesystemdaten ausgewählt. Bei ausreichend vollständigen Journaldaten von diesem Filesystem Abschnitt, ist es möglich das Filesystem in unterschiedlichen Zeitabschnitten zu durchlaufen und darzustellen.

-L

Ausgabe aller Dateinamen mit der Inodenummer im ausgewählten Verzeichnisbaum. Dieses enthält alle ungelöschten und alle gelöschten Dateien und Verzeichnisse in diesem Verzeichnisbaum. Mit der zusätzlichen Option "-x" die Dateinamen werden in doppelte Anführungszeichen gesetzt. Einse solte Liste kann mit der Option "-i" als Input-Liste verwendet werden.

-l

Gibt eine Liste von Dateinamen eines Verzeichnisbaumes aus, welche zur Zeit nicht benutzte Datenblöcke adressieren. Am Anfang jeder Zeile steht der Prozentsatz von nicht benutzen Datenblöcken. Unmittelbar nach dem Löschen von Dateien werden hier alle Dateien aufgelistet sein, die mit den Journaldaten zu recovern sind. Wird eine ältere "BEFORE" Zeit benutzt, ist es möglich das hier Dateien enthalten sind, deren Blöcke in der Zwischenzeit schon wieder von anderen Dateien benutzt wurdne und auch schon wieder gelöscht sind. Ebenfalls in dieser Liste enthalten sind immer alle Dateien ohne Datenblöcke, also zB. symbolic Links, Leere Dateien und andere Spezial Dateien.

Ebenfalls kann optional mit "-x" die Dateinamen in doppelte Anführungszeichen gesetzt werden.

-r

entsprechende des gesetzten Startverzeichnisses, werden alle Dateien ohne Konflikte mit zur Zeit benutzten Datenblöcken wiederhergestellt. Dieses werden alle Dateien sein, die mit der Option "-l" angezeigt werden und 100% nicht benutzte Blöcke besitzen. Diese Option wird also nur gelöschte Dateien und Dateien ohne Datenblöcke recovern. zB. leere Dateien oder Symlinks.

Die recoverten Dateien werden in das Verzeichnis "RECOVERDIR/" abgelegt. Diese Verzeichnis kann auch mit der Option "-d" auf ein anderes Verzeichnis umdefiniert werden.

Alle Dateien erhalten ihren ehemaligen Dateinamen und wenn möglich auch all ihre alten Eigenschaften. Das Start Verzeichnis kann durch die Optionen "-f dirname" oder "-I inodenumber" ausgewählt werden. Wird die Inodenummer angegeben, erhält das unterste Verzeichnis den Namen aus der Inodenummer. "<inodenumber>/"

Die Zeitoptionen beeinflussen die Suche. Wenn ein Dateiname im Zielverzeichnis bereits existiert, oder mehrmals recovert wird, wird die Datei nicht überschrieben und ein neuer Dateiname wird erzeugt durch anhängen eines ""#"" am Ende. Die Maximale Erweiterung ist "#####" für Dateinamen.

Einzelne Dateien können mit dieser Option ebenfalls wieder hergestellt werden. Möglich ist die Angabe durch Zeitmarken und durch Transaktionsnummer.

(neu 0.2.1): Wird diese Funktion von Root Verzeichnis aus gestartet, wird automatisch die erste Stufe der Magic Funktionen nach gestartet.
Damit wird nach "verlorenen Verzeichnissen" und nach "verlorenen Dateien" gesucht und diese ebenfalls noch wieder hergestellt. Diese Dateien werden unterhalb der Verzeichnisse MAGIC-1 und MAGIC-2 abgelegt.

-R

recovert ebenfalls Verzeichnisbäume wie die Option "-r"

Aber zwei sehr wichtige Unterschiede. Diese Option recovert alle gefundenen Inode, auch wenn ihre Datenblöcke benutzt werden, und beim Recovern werden die User und Zugriffsrechte der ehemaligen Verzeichnisse auch wieder hergestellt. Auch leere Verzeichnisse werden so wieder hergestellt. Diese Option recovert also gelöschte und ungelöschte Dateien, damit ist es möglich, zu versuchen, ehemalige Verzeichnis Versionen wieder herzustellen.

In vollständig gelöschten Verzeichnissen ist das Verhalten von "-R" und "-r" gleich. Der Unterschied ist hier nur das komplette Wiederherstellen der Verzeichnis Eigenschaften. Ebenfalls möglich ist das recovern von einzelnen Dateien mittels der Zeitoptionen oder der Transaktionsnummer.

Mit der aktuellen Version ist es nicht möglich ACL, SEL und andere "extended attribute" wiederherstellen.

Die Ausgaben beim Recovern beginnen pro Zeile immer mit einem String "--------" vor dem Dateinamen. Dieses signalisiert ein erfolgreiches Wiederherstellen. Sind nicht ausreichende Zugriffsrechte zu Schreiben der wiederhergestellten Dateien vorhanden, dann werden dort einige "x" im String zu erkennen sein.

Am Ende eines Wiederherstellungsprozesses können Ausgaben von der Hardlink Datenbank erscheinen. Eine positive Zahl vor dem Dateinamen bedeutet: nicht alle Hardlinks für diese Datei wurden gefunden. Eine negative Zahl bedeutet: es wurden zu viele Hardlinks für diese Datei erzeugt. (diese könnte von wieder verwendeten Dateinamen oder wieder verwendeten Inodes ausgelöst werden, ebenso wenn zu alte oder fehlerhafte Dateien wiederhergestellt wurden. - Es ist aber auch möglich, es wurde die richtige Anzahl von Hardlinks richtig wieder hergestellt, aber die Zeitoptionen waren ungünstig gesetzt, so das die zum Recovern ausgewählte Inode nicht aktuell genug war. Bei solchen Ausgaben sollte diese Hardlinks und ihre Dateien geprüft werden.)

Wiederverwendete und erneut gelöschte Datenblöcke können nicht erkannt werden. Dieses kann zu einigen defekten Dateien führen. In jedem Fall sollten immer die Inhalte alle wieder hergestellten Dateien vor einer Benutzung dieser Dateien überprüft werden.



BEISPIELE

Den Inhalt der Inodedaten anzeigen, es gibt mehrere Möglichkeiten

# ext4magic /dev/sda3 -f /

# ext4magic /dev/sda3 -I 2

Erzeugt die Ausgabe der aktuellen Root-Inode dieses Filesystems, Das erste Beispiel nutzt den Pathnamen, im 2. Beispiel wird über die Inodenummer 2 ebenfalls das Rootverzeichnis angesprochen.

# ext4magic /tmp/filesystem.iso -f / -T -x

Es wird ein Filesystem Image "/tmp/filesystem.iso" benutzt, gesucht und ausgegeben werden alle Transaktions von Blockkopien in welchen sich die Rootinode befindet. Ausgegeben wird weiter jede sich dabei unterscheidende Inode mit der Liste der Datenblöcke die diese Indode adressiert. Da es sich hier um eine Verzeichnis-Inode handelt, werden auch zu jeder ungelöschten Inodekopie der Inhalt des Verzeichnisses mit ausgegeben.

# ext4magic /tmp/filesystem.iso -j /tmp/journal.backup -I 8195 -t 182

Benutzt ein Filesystem Image "/tmp/filesystem.iso" und ließt die Journaldaten dazu aus einer externe Kopie des Journals in der Datei "/tmp/journal.backup", Ausgabe ist der Inhalt der Inodenummer 8195 aus der Journal-Kopie mit der Transaktion Nummer 182

# ext4magic /dev/sda3 -f user1/Documents -a $(date -d "-3 day" +%s) -b $(date -d "-2 day" +%s)

Ausgabe des Inhalts einer ungelöschten Inodekopie für den Pathnamen "user1/Documents" der vor 2 maximal 3 Tagen ins Journal geschrieben wurde. Wenn es sich dabei um ein Verzeichnis handelt, so wird ebenfalls der Inhalt des Verzeichnisses ausgegeben. Sind Kopien von Verzeichnisdatenblöcken passend zur Inode-Kopie im Journal, wird der Inhalt des Verzeichnisses zum entsprechenden Zeitpunkt angezeigt, werden diese Datenblöcke nicht gefunden, dann ist der Verzeichnisinhalt der aktuelle des Filesystems.

Beispiele für einfache Recover

# ext4magic /dev/sda3 -r -f user1/picture/cim01234.jpg -d /tmp

Wiederherstellen der Datei "/home/user1/picture/cim01234.jpg" welche vor kurzem gelöscht wurde. Das Filesystem ist sonst gemountet unter "/home".

Beachte: der Pfad wird angegeben vom Root Verzeichnis des Filesystems und nicht vom Root Verzeichnis des gesamten Linux Systems. Wann immer es möglich ist, das Filesystem vorher unmounten. Wiederhergestellt wird die Datei als "/tmp/user1/picture/cim01234.jpg"

# ext4magic /dev/sda3 -r

Versucht alle in den letzten 24 Stunden gelöschten Dateien zu recovern. Geschrieben wird in das Verzeichnis "./RECOVERDIR/"

# ext4magic /dev/sda3 -R -a $(date -d "-5day" +%s)

Es wird versucht alle Dateien wieder herzustellen, auch wenn in der Zwischenzeit eventuell schon Teile von gelöschten Dateien teilweise überschrieben sind. Wiederhergestellt werden auch alle nicht gelöschten Dateien. Der Löschzeitpunkt ist 4 Tage her.

# ext4magic /dev/sda3 -M -d /home/recover

Versuch eines mehrstufigen Recovers aller Dateien, anzuwenden zum Beispiel: nachdem das Filesystem mittels "rm -rf *" gelöscht wurde. Die recoverten Dateien werden in das Verzeichnis "/home/recover" geschrieben. (die letzte Stufe wird bei ext4 übersprungen)

# ext4magic /dev/sda3 -RQ -f user1/Dokuments -a 1274210280 -b 1274211280 -d /mnt/testrecover

Versucht das Wiederherstellen des Verzeichnisbaumes "user1/Dokuments/" mit großer Genauigkeit. Die "-b" Zeitmarke muss hier unmittelbar vor dem Beginn des Löschvorganges gesetzt werden, die "-a" Zeitmarke schützt davor, dass zu alte gelöschte Dateien gefunden werden. Diese Optionskombination mit "-Q" wird nur vollständige Ergebnisse liefern, wenn vor der Zeitmarke "-b" Dateien in den Verzeichnissen angelegt oder gelöscht wurden. Nur in diesem Fall sind Verzeichnisdatenblöcke im Journal enthalten, auf die sich diese Optionskombination verlässt. Geschrieben werden die recoverten Dateien in das Zielverzeichnis "/mnt/testrecover/"

# ext4magic /home/filesystem.iso -Lx -f user1 | grep "jpg" > ./tmpfile

# ext4magic /home/filesystem.iso -i ./tmpfile -r -d /mnt/testrecover

Versucht einen Recovern alle gelöschten Dateien (letzten 24 Stunden) aus dem Verzeichnisbaum "user1/", deren Dateinamen "jpg" enthalten. Geschrieben werden die recoverten Dateien nach "/mnt/testrecover" - es wird eine temporäre Datei "./tmpfile" für eine Liste der Dateinamen verwendet.



FEHLER

Die direkte Verwendung des Journals eines zur Zeit zum Schreiben geöffneten Filesystems kann zu fehlerhafter Interpretation des Journalsinhaltes führen. Daraus resultieren falsche Ergebnisse und Fehler innerhalb ext4magic. Aus diesem Grund sollte ein Journal nicht direkt benutzt werden, solange das Filesystem noch zum Schreiben aktiv eingebunden ist. Sollte es dennoch notwendig erscheinen ein read-write gemountetes Filesystem mit ext4magic zu bearbeiten, gibt es die Möglichkeit eine Kopie des Journals zu erzeugen und diese mittels der Option -j zu verwenden.



AUTOR

Roberto Maar





"SIEHE AUCH"

debugfs(8), e2fsck(8)





version 0.2.2

Jun 2011

ext4magic(8)






Ext4magic: Inode - Directory - Journal - Installation - Zeit-Optionen - Tricks&Tipps - Manpage - Expert-Mode