Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

9.2. GRUB

GRUB(GNU GRand Unified Boot loader) は、システム起動の時点にロードするインストール済のオペレーティングシステム又はカーネルを選択させてくれるプログラムです。またユーザーがカーネルに引数を渡すこともできるようにします。

9.2.1. GRUB と x86ブートプロセス

This section discusses the specific role GRUB plays when booting an x86 system. For a look at the overall boot process, refer to 「ブートプロセスの詳細」.
GRUB は次のようなステージでそれ自身をメモリにロードします:
  1. The Stage 1 or primary boot loader is read into memory by the BIOS from the MBR[4]. The primary boot loader exists on less than 512 bytes of disk space within the MBR and is capable of loading either the Stage 1.5 or Stage 2 boot loader.
  2. 必要であれば、 ステージ 1.5 ブートローダーは ステージ 1 ブートローダによってメモリに読み込まれます。 ハードウェアの中には ステージ 2 ブートローダーを取得するための中間ステップを必要とするものがあります。 /boot/ パーティションがハードドライブの頭から 1024 シリンダ以上にある、もしくは LBA モードを使用している場合、 中間ステップが必要になります。 ステージ 1.5 ブートローダーは /boot/ パーティションまたは MBR 及び /boot/ パーティションの小さい領域のいずれかにあります。
  3. ステージ 2 いわゆるセカンダリブートローダーがメモリに読み込まれます。セカンダリブートローダーは GRUB メニューとコマンド環境を表示します。このインターフェイスによりブートするカーネルやオペレーティングシステムを選択することができ、カーネルに引数を渡したりシステムパラメーターを確認したりすることができます。
  4. 第 2 ブートローダーはオペレーティングシステムまたはカーネルの他、 /boot/sysroot/ の内容もメモリに読み込みます。 GRUB は起動するオペレーティングシステムまたはカーネルを決定すると、 それをメモリにロードしてマシンの制御権をそのオペレーティングシステムに渡します。
Red Hat Enterprise Linux の起動に使用する方法は、 ブートローダーが直接オペレーティングシステムをロードするため ダイレクトローディングと呼ばれます。 ブートローダーとカーネルの間に中継するものはありません。
他のオペレーティングシステムによって使用されるブートプロセスは異なる場合があります。例えば、Microsoft ® Windows®オペレーティングシステムや別のオペレーティングシステムはチェーンロードを使用してロードされます。この方法では、MBR によってオペレーティングシステムを保持しているパーティションの第一セクターが指定され、実際オペレーションシステムを ブートするのに必要なファイルを検索します。
GRUBはダイレクトロードとチェーンロードの両方をサポートするため、 たいがいのオペレーティングシステムをブートすることができます。

警告

During installation, Microsoft's DOS and Windows installation programs completely overwrite the MBR, destroying any existing boot loaders. If creating a dual-boot system, it is best to install the Microsoft operating system first.


[4] For more on the system BIOS and the MBR, refer to 「BIOS」.