図1 ブート・マネージャの仕組み。パソコンの電源が入ると,最初にBIOSが実行される。BIOSはオレンジ色で表されたMBRに制御を渡し,MBRのプログラム領域に含まれたGRUB(stage1)が,ブート・マネージャ本体であるGRUB(stage2)を呼び出す。さらに別のブート・マネージャ(Windows Boot Manager)などに制御が移ることもある。
図1 ブート・マネージャの仕組み。パソコンの電源が入ると,最初にBIOSが実行される。BIOSはオレンジ色で表されたMBRに制御を渡し,MBRのプログラム領域に含まれたGRUB(stage1)が,ブート・マネージャ本体であるGRUB(stage2)を呼び出す。さらに別のブート・マネージャ(Windows Boot Manager)などに制御が移ることもある。
[画像のクリックで拡大表示]

 ブート・マネージャとはハード・ディスクの先頭領域に記録されたブート・ローダーから直接呼び出される小さなプログラムで,複数のOSをメニュー表示し,ユーザーの指示に従って起動し分ける働きを備えています。WindowsやLinuxではテキスト・ベースですが,商用のブート・マネージャにはGUIを備えたものも存在します。

 標準として利用されるブート・マネージャは,LinuxではGNU GRUB(Grand Unified Bootloader)やLILO(Linux Loader),WindowsではWindows Boot ManagerやNTLDR(NT Loader)です。これらはいずれも,ブート・マネージャとブート・ローダーの両方の機能を備えています。

 ブート・ローダーは,ハード・ディスクの先頭セクタを占めるMBR(Master Boot Record)に含まれています。MBRにはどのパーティションが起動可能か(OSがインストールされているか)を示す情報,各パーティションの位置情報が記録されています。

 しかし,MBRに格納できるプログラムは最大でも446バイトに制限されているため,単一のOSを起動することはできても,メニューを表示する,対話的な処理をするなど,複数のOSを切り替えて起動することは難しくなります。

 このため複数のOSを切り替えて起動するデュアル・ブートなどには,GRUBなどのブート・マネージャが必須になります。