ブロック グループ記述子テーブルを見つける方法を理解するのに問題があります。文献 (D.Poirier: " The 2nd extended filesystem ") では、ブロック グループ記述子はスーパーブロックの直後のブロックにあると述べられています。
ここで、ブロック サイズが 1024 バイトの最初のディスクを見ると、構造は次のようになります。
- MBR、0 ~ 512 バイト
- スーパーブロック、1536 ~ 2560 バイト
- BG 記述子、2560 - ... バイト
スーパーブロックは 3 番目のセクターから始まり、BGD はその直後に続くため、この構造は問題ありません。ただし、ブロック サイズが 4096 バイトの 2 番目のディスクを見ると、構造は次のようになります。
- MBR、0 ~ 512 バイト
- スーパーブロック、1536 ~ 2560 バイト
- BG 記述子、4608 - ... バイト
この場合、BGD はスーパーブロックから 3072(?) バイト離れた場所にあります。ext 構造を読み取って分析するプログラムを作成していて、BGD を見つける方法を知っている一般的なプログラムを作成できないため、BGD の位置がどのように正確に決定されるかを教えてください。