IPLでブートプログラムを読み出す
PC/ATのIPLでは、512バイトしか容量がない(さらに BIOS Parameter Block やMBRのパーティション情報があるため)ため、この中に複雑な機能を載せることはできない。
最も単純な方法としては、読み出すべきセクタ番号とセクタ数をIPL内に書き込んでしまう方法。これならば、どんなファイルシステムであっても、セクタの連続性さえ保てば単純に読み出して配置することができる。ただし、この方法の問題は、ファイルの配置が何らかの原因で変わったときに追従できなくなる。
デフラグはセクタの並び順を変えてしまう。
書き換えられる範囲で管理外のセクタ(こっそり最終セクタに書くなど)はいつ書き換えられるかわからない。
次に簡単な方法は、ファイルシステムを仮定して、そのファイルシステムのデータ部の先頭ブロックにあると仮定して読み出す。
Linux では1つ目のパーティションをブートファイルシステムとして使用している。
GPTが一般的に使えるのはUEFI環境であるはず。