Filesystems Ext3块组描述符

Filesystems Ext3块组描述符,filesystems,block,ext3,superblock,Filesystems,Block,Ext3,Superblock,我在理解如何查找块组描述符表时遇到问题。在文献(D.Poirier:“第二个扩展文件系统”)中指出,块组描述符位于超级块之后的块中 现在,当我看第一个磁盘时,块大小为1024字节,结构如下: MBR,0-512字节 超级块,1536-2560字节 BG描述符,2560-。。。字节 这种结构很好,因为超级块从第三个扇区开始,BGD紧跟其后。但是,当我查看块大小为4096字节的第二个磁盘时,结构如下: MBR,0-512字节 超级块,1536-2560字节 BG描述符,4608-。。。字节

我在理解如何查找块组描述符表时遇到问题。在文献(D.Poirier:“第二个扩展文件系统”)中指出,块组描述符位于超级块之后的块中

现在,当我看第一个磁盘时,块大小为1024字节,结构如下:

  • MBR,0-512字节
  • 超级块,1536-2560字节
  • BG描述符,2560-。。。字节
这种结构很好,因为超级块从第三个扇区开始,BGD紧跟其后。但是,当我查看块大小为4096字节的第二个磁盘时,结构如下:

  • MBR,0-512字节
  • 超级块,1536-2560字节
  • BG描述符,4608-。。。字节

在这种情况下,BGD位于距超级块3072(?)字节的位置。有人能告诉我BGD的位置是如何确定的吗?因为我正在编写一个读取和分析ext结构的程序,而我无法编写一个知道如何查找BGD的通用程序。

BGD的起始偏移量可以根据块大小(1k、2k、4k)而变化。 在分区中,前1024个字节是保留的,然后是1024个字节的超级块。根据块大小,BGD从以下位置开始:

BLK=1K,BGD从分区偏移量2048开始(1024个保留+1024个超级块)

BLK=2K,BGD从分区偏移量2048(1024个保留+1024个超级块)开始

BLK=4K,BGD从分区偏移量4096开始,这是距离开始1个块的距离,这是您看到的与超级块相距3072字节的结果