どうやら MBR は 512 バイトのデータ構造です。
- BootCode の場合は 446 バイト。
- パーティション テーブルの場合は 64 バイト
- 最後に署名用の 2 バイト。
パーティション テーブル構造には、ハード ディスク上のパーティションの種類と場所を識別するために使用される 16 バイトのエントリが 4 つあります。
マイクロソフトによると
パーティション テーブルの最初の要素である Boot Indicator フィールドは、ボリュームがアクティブなパーティションであるかどうかを示します。このフィールドを設定できるのは、ディスク上の 1 つのプライマリ パーティションだけです。
パーティション 1\ 0x01BE(446)
パーティション 2\ 0x01CE(462)
パーティション 3\ 0x01DE(478)
パーティション 4\ 0x01EE(494)
パーティション テーブルの 16 バイトの 4 つのエントリがそれぞれ利用可能な 64 バイトのスペースを完全に使い切ってしまうため、ブート インジケータ フィールド用のスペースを残すことができるでしょうか?
ブート インジケータ フィールドは、アクティブなエントリ フィールド スペースであるパーティションに詰め込まれていますか? (エントリごとに実行されているブート インジケータ フィールドを盗聴するための正規表現操作を想像することはできません...)
おそらく私はこれを間違って視覚化していますが、何かが違法に見えますか?