この章では、SUSE Linux Enterpriseで現在使用されているブートローダGRUBの設定方法について説明します。 すべての設定操作には、特殊なYaSTモジュールを使用できます。 Linuxでのブートに不慣れな場合は、以降の各セクションを読んで背景情報を理解してください。 また、この章では、GRUBでのブート時に頻繁に発生する問題とその解決策についても説明します。
この章は、ブート管理とGRUBブートローダの設定に重点を置いています。 ブート手順は、総じて「セクション 19.0, Linuxシステムのブートと設定」で説明しています。 ブートローダは、マシン(BIOS)とオペレーティングシステム(SUSE Linux Enterprise)の間のインタフェースになります。 ブートローダの設定は、オペレーティングシステムの起動に直接影響を及ぼします。
次の用語は、この章で頻繁に使用されており、少し説明を加えた方がよいと思われるものです。
MBRの構造は、オペレーティングシステムに依存しない規則に従って定義されます。 最初の446バイトは、プログラムコード用に予約されています。通常、ここにはブートローダプログラムやオペレーティングシステムセレクタの一部が保管されています。 次の 64バイトは、最大4つのエントリからなるパーティションテーブル用のスペースです(「パーティションのタイプ」を参照)。 パーティションテーブルには、ハードディスクのパーティション分割とファイルシステムのタイプに関する情報が含まれています。 オペレーティングシステムでハードディスクを処理するには、このテーブルが必要です。 MBRの従来の汎用コードでは、1つのパーティションにだけ「アクティブ」のマークを付ける必要があります。 MBRの最後の2バイトは、静的な「マジックナンバー」(AA55)を含む必要があります。一部のBIOSでは、異なる値を持つMBRは無効とみなされ、ブートの対象とはみなされません。
ブートセクタは、拡張パーティションを除くハードディスクパーティションの最初のセクタであり、その他のパーティションの「コンテナ」として機能するだけです。 これらのブートセクタのうち512バイトのスペースは、関連パーティションにインストールされているオペレーティングシステムをブートするためのコードが占有します。 これは、フォーマット済みのDOS、Windows、およびOS/2パーティションのブートセクタに該当し、ファイルシステムの重要な基本データも一部含まれています。これに対して、Linuxパーティションのブートセクタは、XFS以外のファイルシステムの設定直後は当初空になっています。 そのため、Linuxパーティションは、カーネルと有効なルートファイルシステムが含まれている場合にも、単独ではブートできません。 システムブート用の有効なコードを含むブートセクタの場合、最後の2バイトにはMBRと同じマジックナンバー(AA55)があります。