文件在ext2 / ext3 / ext4中如何排列?


8

几天前,我在ext4格式闪存卡上的所有元数据都被覆盖。

我现在要推测这是怎么发生的。这纯粹是猜测。就在我使用另一张卡之后。卡上的音量标签现在与另一张卡相同。因此,我怀疑在拔出另一张卡时无法同步/卸载另一张卡。拔卡时,读卡器无法正确通知系统,因此下一个系统生成同步,系统不知道我更换了卡,并且覆盖了元数据。

发生这种情况时,我要做的第一件事就是使用dd创建映像。我做的第二件事是将图像设为只读。我做的第三件事是制作图像的可写副本。

我发现了photorec,它可以恢复一些东西,但不是全部。我认为其原因之一是它是无损的。

由于某些恢复的文件是文本,因此我怀疑photorec使用的文件格式信息很少(如果有)。

要尝试从卡中恢复任何其他文件,我需要知道ext2中文件的布局。我怀疑其基本原因是文件被分成多个块,然后被写入扇区,而有关如何查找下一个扇区的信息则以某种方式写入了当前扇区。

我需要的最重要的内容是有关如何写入指向下一个扇区的指针的信息。

PS:我正在阅读photorec代码,但是在阅读它时遇到了一些问题。我不知道是我还是代码丑陋。

PPS:我已经找到了有关ext文件系统布局方式的一些信息,但是似乎找不到基本的文件布局信息。

Answers:


4

PhotoRec扫描磁盘(或磁盘映像),以搜索看起来像已知文件格式的连续字节块(例如,它可以通过段头识别JFIF / EXIF(JPEG))。很简单,但有限。

Sleuth套件是深入研究文件系统的绝佳工具。稍加小心(并编写脚本工具并在误入歧途时对磁盘映像进行十六进制编辑),即可将其用于恢复。

对于更深入了解ext的工具,请尝试ext4magic?(我还不需要使用它。)

Documentation/filesystems/ext2.txt内核源代码中对通用结构进行了高级概述。所述的Ext4维基具有良好的信息,包括的Ext4磁盘布局含有更多的细节(主要是施加到EXT [23]以及)。

但是,是的,文件的数据分为多个块。在ext2中,每个文件都由一个索引节点表示,该索引节点包含直接块(指向数据块的指针),间接块(包含指向直接块的指针),双间接块和三重间接块。没有反向链接,因此要查找数据块的兄弟姐妹,您必须扫描所有inode和块指针以首先找到其所有者。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.