8.0 ブートローダGRUB

この章では、SUSE® Linux Enterprise Serverで使用されているブートローダGRUBの設定方法について説明します。すべての設定操作には、特殊なYaSTモジュールを使用できます。Linuxでのブートに不慣れな場合は、以降の各セクションを読んで背景情報を理解してください。また、この章では、GRUBでのブート時に頻繁に発生する問題とその解決策についても説明します。

メモ: UEFIを使用するコンピュータ上にGRUBがない

通常GRUBは従来のBIOSを備え、UEFI (Unified Extensible Firmware Interface) 上にあるコンピュータにインストールされます。CSMが有効になっていないUEFIコンピュータでは、eLILOが自動的にインストールされます (DVD1が正常に起動した場合)。詳細については、ご使用のシステムの/usr/share/doc/packages/elilo/にあるeLILOマニュアルを参照してください。

この章は、ブート管理とGRUBブートローダの設定に重点を置いています。ブート手順は、総じてセクション 7.0, Linuxシステムのブートと設定で説明しています。ブートローダは、マシン(BIOS)とオペレーティングシステム(SUSE Linux Enterprise Server)の間のインタフェースになります。ブートローダの設定は、オペレーティングシステムの起動に直接影響を及ぼします。

次の用語は、この章で頻繁に使用されており、少し説明を加えた方がよいと思われるものです。

マスターブートレコード

MBRの構造は、オペレーティングシステムに依存しない規則に従って定義されます。最初の446バイトは、プログラムコード用に予約されています。通常、ここにはブートローダプログラムやオペレーティングシステムセレクタの一部が保管されています。次の64バイトは、最大4つのエントリからなるパーティションテーブル用のスペースです。パーティションテーブルには、ハードディスクのパーティション分割とファイルシステムのタイプに関する情報が含まれています。オペレーティングシステムでハードディスクを処理するには、このテーブルが必要です。MBRの従来の汎用コードでは、1つのパーティションにだけアクティブのマークを付ける必要があります。MBRの最後の2バイトは、静的なマジックナンバー(AA55)を含む必要があります。一部のBIOSでは、異なる値を持つMBRは無効とみなされ、ブートの対象とはみなされません。

ブートセクタ

ブートセクタは、拡張パーティションを除くハードディスクパーティションの最初のセクタであり、その他のパーティションのコンテナとして機能するだけです。これらのブートセクタのうち512バイトのスペースは、関連パーティションにインストールされているオペレーティングシステムをブートするためのコードが占有します。これは、フォーマット済みのDOS、Windows、およびOS/2パーティションのブートセクタに該当し、ファイルシステムの重要な基本データも一部含まれています。これに対して、Linuxパーティションのブートセクタは、XFS以外のファイルシステムの設定直後は当初空になっています。そのため、Linuxパーティションは、カーネルと有効なルートファイルシステムが含まれている場合にも、単独ではブートできません。システムブート用の有効なコードを含むブートセクタの場合、最後の2バイトにはMBRと同じマジックナンバー(AA55)があります。