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.