EXTファイルシステムシリーズ:最初のスーパーブロックがオフセット1024で始まるのはなぜですか?

EXTファイルシステムシリーズ:最初のスーパーブロックがオフセット1024で始まるのはなぜですか?

私はファイルシステム構造を詳しく調べていますが、いくつかのリソースで最初のスーパーブロックが1024バイトのオフセットから始まると言います。私は1024を選択した理由を説明するすべての種類のドキュメントを探し始めましたが、あまりにもランダムなようです。私が見つけることができるものは次のとおりです。

「ブロックグループ0の特殊なケースでは、最初の1024バイトはx86ブートセクタやその他の奇妙なものをマウントするために使用されません。スーパーブロックはオフセット1024バイトで始まり、どのブロックでも(通常0)です。ブロックサイズ= 1024の場合、ブロック0は使用中としてマークされ、スーパーブロックはパディングなしでブロック1に移動します。

Ext4ディスクレイアウト

私はこの分野がグラブの後期段階に関連していると考えて、もう少し調査したところ、次の記事が見つかりました。

PC用GRUBの詳細

DOS互換領域セクションによると、最初の「シリンダ」全体が予約されており、最大63個のセクタを持つことができます。これは1024バイトオフセットをはるかに超えるため、今は混乱しています。

私の質問:

ディスクがバイト0からEXTファイルシステムの最初のスーパーブロックまでどのように配置されるかを説明できますか?

答え1

ディスクの先頭にあるマスターブートレコード(MBR)には446バイトのコードしか含まれていないため、サイズが小さく、多くの操作を実行できません。したがって、一般的なブート技術は、MBRがアクティブパーティションの先頭にコードをロードし、そのコードにジャンプするいわゆる「チェーンロード」を実行することです。 EXTファイルシステムがアクティブパーティションにある場合、EXTファイルシステムは最初の2つのセクタを空にしてパーティションの先頭をこれらのチェーンロードコードに使用できます。この起動プロセスの仕組みの詳細については、ここで確認できます。

http://wiki.osdev.org/Boot_Sequence#The_Traditional_Way

関連情報