Wie sind Dateien in ext2 / ext3 / ext4 angeordnet?


8

Vor einigen Tagen wurden alle meine Metadaten auf einer Flash-Karte im Ext4-Format überschrieben.

Ich werde jetzt darüber spekulieren, wie dies passiert ist. Das ist reine Spekulation. Es passierte kurz nachdem ich eine andere Karte benutzt hatte. Das Datenträgeretikett auf der Karte ist jetzt dasselbe wie auf der anderen Karte. Ich vermute also, dass ich die andere Karte beim Ziehen nicht synchronisieren / aushängen konnte. Der Kartenleser benachrichtigt das System nicht ordnungsgemäß, wenn eine Karte gezogen wird, sodass beim nächsten System eine Synchronisierung generiert wurde. Das System wusste nicht, dass ich die Karten gewechselt habe, und überschrieb die Metadaten.

Das erste, was ich getan habe, als dies passiert ist, ist ein Bild mit dd zu erstellen. Als zweites habe ich das Bild schreibgeschützt gemacht. Als drittes habe ich eine beschreibbare Kopie des Bildes erstellt.

Ich entdeckte photorec, das einige Dinge wiederherstellen konnte, aber nicht alle. Ich denke, einer der Gründe dafür ist, dass es zerstörungsfrei ist.

Da es sich bei einigen der wiederhergestellten Dateien um Text handelt, vermute ich, dass photorec nur minimale Informationen zum Dateiformat verwendet, sofern vorhanden.

Um zu versuchen, eine der anderen Dateien von der Karte wiederherzustellen, müsste ich wissen, wie Dateien in ext2 angeordnet sind. Ich vermute, das Grundlegende ist, dass Dateien in Blöcke unterteilt sind, die in Sektoren geschrieben sind, und Informationen darüber, wie man den nächsten Sektor findet, irgendwie im gegenwärtigen Sektor geschrieben sind.

Was ich oben brauche, sind Informationen darüber, wie der Zeiger auf den nächsten Sektor geschrieben wird.

PS: Ich lese den Fotorec-Code, habe aber einige Probleme beim Lesen. Ob ich es bin oder ob der Code hässlich ist, weiß ich nicht.

PPS: Ich habe einige Informationen zum Layout von ext-Dateisystemen gefunden, kann aber anscheinend keine grundlegenden Informationen zum Dateilayout finden.

Antworten:


4

PhotoRec durchsucht eine Festplatte (oder ein Festplattenabbild) nach zusammenhängenden Teilen von Bytes, die wie bekannte Dateiformate aussehen (z. B. kann es JFIF / EXIF ​​(JPEG) an den Segmentüberschriften erkennen). Ziemlich einfach, aber begrenzt.

Das Sleuth Kit ist ein großartiges Werkzeug zum Eingraben in Dateisysteme. Mit ein wenig Sorgfalt (und Skripten der Werkzeuge und Hex-Bearbeitung des Disk-Images, wenn es in die Irre geht) kann es für die Wiederherstellung verwendet werden.

Versuchen Sie ext4magic für ein Tool, das ext besser versteht . (Ich musste dies noch nicht verwenden.)

Documentation/filesystems/ext2.txtIn den Kernel-Quellen gibt es einen allgemeinen Überblick über die allgemeine Struktur. Das Ext4-Wiki enthält gute Informationen, einschließlich des Ext4-Festplattenlayouts mit weiteren Details (hauptsächlich auch für ext [23]).

Aber ja, die Daten einer Datei sind in Blöcke aufgeteilt. In ext2 wird jede Datei durch einen Inode dargestellt, der direkte Blöcke (Zeiger auf Datenblöcke), indirekte Blöcke (die Zeiger auf direkte Blöcke enthalten), doppelte indirekte Blöcke und dreifache indirekte Blöcke enthält. Es gibt keine Backlinks. Um also die Geschwister eines Datenblocks zu finden, müssen Sie alle Inodes und Blockzeiger scannen, um zuerst den Besitzer zu finden.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.