質問: 1, 変更点はMBRに新しいパーティションテーブルを付け加えたということだけでしょうか?? つまりハイブリッドということですか? 2, GPTの先頭にMBRが入っていますが、これは、**「GPTを使用するディスクにもMBRが存在するのは、MBRを前提としたディスクユーティリティを利用した場合の事故の防止のため(誤って何も中身がないと判断されないため)である。」**とwikiに書いてありました。つまり先頭のMBRはなくても起動はできるということですよね? 3, 2が正しい場合、GPTの画像を見ると、ブートストラップローダとブートシグニチャが書いてありませんが・・・・ これは、どこに存在するのでしょうか? 4, GRUBなどのブートローダとはMBRでいうところの、0x000 446byte ブートストラップローダ の部分のプログラムという理解で正しいでしょうか?
回答: その1:GPTのディスクについているMBRデータは、基本的にはMBRしか理解できないツールで「未フォーマットのディスク」と間違われないようにするために入れてあるだけのダミーです(ハイブリッドにできなくもないですが、MBRの側に2.2TBの壁があるなどの事情もあって、あまり一般的とはいえません)。 その2:純粋にGPTになってしまえば理屈の上では不要ですが、「その1」で述べたような安全策として取ってある、ということです(テラバイトの世界に入るディスクに対して、たった512バイトの話です)。実際にこのMBRを破壊しても正常なディスクとして認識されるかは、よくわかりません。これ以降に述べるように、ブートとも全く関係しません。 その3:GPTからOSを起動させるためには、BIOSでなくてUEFIの仕組みを使うことになります。そして、提示いただいた文章の続きに書いてありますが、 > > UEFIはブートストラップローダとパーティションのブートフラグを用いるBIOSのブート方式を踏襲していません。 > > > UEFIでは、ブート対象のHDDのGPTを参照し、EFI System partition(GUID:C12A7328-F81F-11D2-BA4B-00A0C93EC93B)を探して \EFI\BOOT\BOOTX64.EFI(32bit環境ならBOOTIA32.EFI)というファイル名で保存されているブートローダを実行します(ファイル名はUEFIの設定により変更できます。これについては後日改めて記事にします)。 > > > その4:MBRは446バイトという過酷な制限があるため、直接OSをロードすることができず、GRUBなどのローダを呼び出して、そこからOSを起動することとなりますが、UEFIからブートするプログラムには容量の制限がないので、直接GRUBを起動できます(もっと言えば、UEFIに合わせてビルドすれば、直接Linuxカーネルを起動することすらできてしまうとのことです)。