2

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

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

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

这种结构很好,因为超级块从第 3 个扇区开始,BGD 紧随其后。但是,当我查看块大小为 4096 字节的第二个磁盘时,结构是这样的:

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

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

4

1 回答 1

1

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

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

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

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

于 2014-12-03T06:50:23.063 回答