ext2文件格式解析
参考:https://akaedu.github.io/book/ch29s02.html
备份: https://www.evernote.com/shard/s461/sh/47f74a22-1807-465d-96c4-8ae9c020636a/b1286c7569a1d7b9b87c987661d53ef4
fs文件结构,其中1.txt中的内容为字符串:abc
fs文件下载地址:https://wwi.lanzoul.com/iBzwoyk4hvg
fs文件的结构

超级块
超级块中指出每个块组有128个inode,每个inode的大小是128字节,因此共占16个块,inode表的范围是Block 8-23

使用diskgenius分析:选中0x400,右键选择“数据模板”,然后模板类型选择“Ext Superblock”


根目录
根目录对应的inode

使用diskgenius分析

根目录的inode对应的数据块
根目录数据块的位置由上图中的Blocks[0]指出,也就是第24个块,它在文件系统中的位置是24(0x18)×0x400=0x6000

使用diskgenius分析
目录:.(一个点)

目录:.. (两个点)

目录:lost+found

目录lost+found
目录lost+found对应的inode对应的inode
根据上图,目录lost+found的Inode的号码11。通过它与根目录的inode(号码2)的相对位置计算(每个inode的大小是128字节):
0x2080 + (11-2) × 128 = 0x2080 + 0x9 × 0x80 = 0x2500

目录lost+found对应的数据块
根目录数据块的位置由上图中的Blocks[0]指出,也就是第25个块,它在文件系统中的位置是25(0x19)×0x400=0x6400
目录.和..省略,其中1.txt的对应的数据为

1.txt
1.txt对应的inode
根据上图,文件1.txt对应Inode的号码12。通过它与根目录的inode(号码2)的相对位置计算:
每个inode的大小是128字节
0x2080 + (12-2) × 128 = 0x2080 + 0xA × 0x80 = 0x2580

1.txt对应的数据块
根目录数据块的位置由上图中的Blocks[0]指出,也就是第38个块,它在文件系统中的位置是38(0x26)×0x400=0x9800
