E.2. GRUB
GNU GRand Unified Boot loader (GRUB)は、システム起動時にインストールされているオペレーティングシステムまたはカーネルの選択を可能にするプログラムです。また、ユーザーはカーネルに引数を渡すことができます。
E.2.1. BIOS ベースの x86 システムの GRUB およびブートプロセス
本セクションでは、BIOS ベースの x86 システムを起動する際の特定のロール GRUB プレイを説明します。ブートプロセス全体を確認するには、「ブートプロセスの詳細」 を参照してください。
GRUB は、以下の段階でメモリーに読み込みます。
- Stage 1 またはプライマリーブートローダーは、MBR から BIOS によってメモリーに読み込まれます。 [16].プライマリーブートローダーは、MBR 内の 512 バイト未満のディスク領域に存在し、Stage 1.5 または Stage 2 ブートローダーのいずれかを読み込むことができます。BIOS はパーティションテーブルまたはファイルシステムを読み取ることができません。ハードウェアを初期化し、MBR を読み込んでから、起動プロセスを続行するためにステージ 1 ブートローダーによって異なります。
- Stage 1.5 ブートローダーは、必要に応じて Stage 1 ブートローダーによってメモリーに読み込まれます。一部のハードウェアには、Stage 2 ブートローダーを取得するために中間ステップが必要です。これは、
/boot/
パーティションがハードドライブの 1024 シリンダーヘッドを上回る場合や、LBA モードを使用する場合に該当します。Stage 1.5 ブートローダーは、/boot/
パーティション上、または MBR と/boot/
パーティションの一部にあります。 - Stage 2 またはセカンダリーブートローダーはメモリーに読み込まれます。セカンダリーブートローダーには、GRUB メニューおよびコマンド環境が表示されます。このインターフェイスを使用すると、ユーザーは起動するカーネルまたはオペレーティングシステムを選択したり、カーネルに引数を渡すか、システムパラメーターを確認できます。
- セカンダリーブートローダーは、オペレーティングシステムまたはカーネルと、
/boot/sysroot/
の内容をメモリーに読み取ります。GRUB が起動するオペレーティングシステムまたはカーネルを決定したら、それをメモリーに読み込み、マシンの制御をそのオペレーティングシステムに転送します。
ブートローダーはオペレーティングシステムを直接 ロード するため、Linux の起動に使用される方法は 直接ロード と呼ばれます。ブートローダーとカーネルの間に中間はありません。
他のオペレーティングシステムで使用される起動プロセスは異なる場合があります。たとえば、Microsoft Windows オペレーティングシステムや他のオペレーティングシステムは、チェーン ロードを使用してロードされます。この方法では、MBR はオペレーティングシステムを保持するパーティションの最初のセクターを指し、そのオペレーティングシステムを実際に起動するのに必要なファイルを見つけます。
GRUB は、直接読み込みとチェーンロードブート方法の両方をサポートしているため、ほとんどすべてのオペレーティングシステムを起動できます。
警告
インストール時に、Microsoft の DOS および Windows のインストールプログラムは MBR を完全に上書きし、既存のブートローダーを破棄します。デュアルブートシステムを作成する場合は、最初に Microsoft オペレーティングシステムをインストールすることが推奨されます。