2014-07-01 75 views
2

我在理解如何找到塊組描述符表時遇到問題。在文獻中(D.Poirier:「第二擴展文件系統」)指出,塊組描述符位於超級塊之後的塊中。Ext3塊組描述符

現在,當我看第一盤,1024個字節的塊大小,結構是這樣的:

  • MBR,0-512字節
  • 超級塊,1536至2560年字節
  • BG描述符,2560 - ...字節

而且這種結構很好,因爲超級塊以第三個扇區開始,並且BGD緊隨其後。然而,當我看第二盤用的4096個字節塊大小,結構是這樣的:

  • MBR,0-512字節
  • Superblock中,1536至2560年的字節
  • BG描述符,4608 - 。 ..字節

在這種情況下,BGD位於離超級塊3072(?)字節處。有人可以讓我知道BGD的位置究竟有多確切,因爲我正在編寫一個讀取和分析ext結構的程序,而且我不能寫一個知道如何找到BGD的通用程序。

回答

1

BGD開始偏移可以根據塊大小(1k,2k,4k)而變化。 在分區中,保留了前1024個字節,然後是1024個字節的SUPER BLOCK。根據塊大小,BGD從以下位置開始:BGD從分區偏移量2048(1024保留+ 1024超級塊)開始,其中BGD從開始:

BLK = 1K。

BLK = 2K,BGD從分區偏移2048(1024保留+ 1024超級塊)開始。

BLK = 4K,BGD從分區偏移量4096開始,這是距離開始1個塊,即結果你看到距超級塊3072個字節。