第 4章GRUB

システム上でRed Hat Linuxを起動するには、ブートローダーに格納されている起動命令によってブートするように指示する必要があります。これは、Linuxカーネルの起動方法を認識している、プライマリハードディスクドライブかその他のメディア装置に存在するプログラムです。

Red Hat Linuxだけを起動するx86システムを使用し、Linuxカーネルの1バージョンだけを使用している場合は、ブートローダーがRed Hat Linuxの起動セプロセスすべてを正確に実行することはそれほど重要ではありません。Red Hat Linuxのインストールプログラムでは、プライマリハードディスクドライブのマスターブートレコード(MBR)にブートローダーをすばやく簡単に設定してOSを起動することができます。

ただし、複数のLinuxカーネルや他のOSから起動できるようにしておく場合は、そのために必要な、Red Hat Linuxが使用するメソッド、ブートオプション、ブートプロセス、変更内容について理解しておくことが必要です。

本章では、Red Hat Linuxがx86システム上でOSを起動するためのデフォルトメソッドであるGRUBについて説明します。ブートプロセスを制御するさまざまなコマンドと設定オプションを紹介します。

GRUBの定義

GNU GRUB(GRand Unified Bootloader)はブートローダーをMBRにインストールするためのプログラムで、ディスクの先頭のセクタに存在しています。このプログラムにより、GRUBメニューやコマンド環境をロードするMBRに特定の命令を与えることができるため、希望するOSを起動して、起動時にカーネルに特定の命令を出したり、起動する前にシステムパラメータ(使用可能なRAMなど)を検索することができます。

x86のブートプロセス

最初にx86システムをスタートアップすると、システムのBIOSによってコンピュータのRAM容量、日時、存在するディスク装置、起動メディアに関するそれらのディスク装置のチェック順序などのシステムパラメータがチェックされます。通常、BIOSはハードディスクドライブから起動する前に、コンピュータのフロッピーディスクドライブかCD-ROMドライブ、(その両方のどれか)をチェックするように設定されています。起動メディアがこれらのリムーバブル装置にない場合、BIOSはOSの格納場所とロードする場所の指定をハードディスクドライブの先頭のいくつかのセクターから探します。これらの先頭のセクター— MBR —は、事前に選択されているOSの起動プロセス、OSオプションのGRUBメニュー、特殊オプションを実行するためのGRUBコマンド行インターフェイスのいずれかを開始します。

GRUBのロードとそれに続くOSのロードプロセスはオペレーションの複数のステージで実行されます。

  1. ステージ1と呼ばれるプライマリブートローダーのロード。プライマリブートローダーはMBRに割り当てられた512バイトよりも小さいスペースに格納する必要があります。したがってMBRには十分な容量がないため、プライマリブートローダーはセカンダリブートローダーのロードだけを行います。

  2. ステージ2と呼ばれるセカンダリブートローダーのロード。セカンダリブートローダーは、特定のOSをロードできる拡張機能を実行できるようにします。GRUBの場合は、メニューの表示かコマンドの入力を可能にするコードです。

  3. 指定したパーティションへのLinuxカーネルなどのOSのロード。OSを起動するための適切な命令をGRUBが受け取ると、コマンド行か設定ファイルから必要なブートファイルを検索してマシンの制御をOSに受け渡します。

注意注意
 

ファイルシステムにはファイルシステム設定と同様、プライマリブートローダーとセカンダリブートローダーの間をブリッジするステージ1.5のファイルが必要なものもあります。

たとえば、ステージ1のブートローダーファイルからアクセスできないファイルシステムを使用しているパーティションにステージ2のブートローダーファイルが存在する場合、ステージ1のブートローダーに、ステージ2のブートローダーファイルの読み込みを可能にするステージ1.5ファイルからの追加命令をロードさせることができます。詳細についてはGRUBのinfoを参照してください。

前述のブートメソッドは、ブートローダー間の仲介コードやOSのメインファイル(カーネルなど)を使用せずに、直接OSをロードする命令を使用するため、ダイレクトロードと呼ばれます。ただし、異なるOSで使用されるブートプロセスはこの方法とは若干異なる場合があります。たとえば、MicrosoftのOSであるDOSとWindowsは、現行のMBRの設定をいっさい組み込まずにインストールされると、MBRを完全に上書きする傾向があります。MBRが上書きされると、Red Hat Linuxなどの他のOSによってMBRに保存されたすべての情報が壊れてしまいます。MicrosoftのこれらのOSは他のさまざまなOSと同様に、チェーンロードのブートメソッドを使用してロードされます。この方法を使用すると、MBRは単純にOSを格納しているパーティションの先頭のセクターをポイントして、実際にOSを起動するのに必要な専用ファイルを検索します。

GRUBは直接あるいはチェーンロードのどちらのブートメソッド法もサポートするため、ほとんどのOS、最も広く使用されているファイルシステム、BIOSが認識できるほとんどのハードディスクとともに使用できます。

GRUBの機能

GRUBは、使用可能な他のブートローダーに適合させるための数々の機能を備えています。そのうち最も重要なものをいくつかご紹介します。