Show Table of Contents
24.6. ブートローダーの確証
rpm
を使用してカーネルをインストールすると、カーネルパッケージはブートローダー設定ファイル内にその新しいカーネル用のエントリーを作成します。しかし、rpm
はその新しいカーネルがデフォルトカーネルとしてブートするようには設定しません。 rpm
で新しいカーネルをインストールした時には手動で実行する必要があります。
rpm
で新しいカーネルをインストールした後には、常にブートローダー設定ファイルをダブルチェックして設定が正しいことを確認するようにお薦めします。そうしないと、システムは Red Hat Enterprise Linux を正しくブートできないかも知れません。ブートしない場合、先に作成したブートメディアでシステムをブートしてブートローダーを再設定します。
以下の表で、使用アーキテクチャを見付けるとシステムが使用しているブートローダーを判定することができます。見付けたら、「参照 (Refer to)」リンクをクリックして使用システム用の正しい案内にジャンプします。
表24.1 アーキテクチャ別のブートローダー
アーキテクチャ | ブートローダー | 参照 |
---|---|---|
x86 | GRUB | 「GRUB ブートローダーの設定」 |
AMD AMD64 または Intel 64 | GRUB | 「GRUB ブートローダーの設定」 |
IBM eServer System i | OS/400 | 「OS/400 ブートローダーの設定」 |
IBM eServer System p | YABOOT | 「YABOOT ブートローダーの設定」 |
IBM System z | z/IPL |
24.6.1. GRUB ブートローダーの設定
GRUB の設定ファイルである
/boot/grub/grub.conf
には、default
、timeout
、splashimage
、hiddenmenu
、などの指示文を持ついくつかの行が含まれています (最後の指示文は引数を持ちません)。ファイルの残りの部分は4行の stanzas (スタンザ) を含んでおり、それぞれがインストール済みのカーネルを1つ参照します。これらのスタンザはいつも title
エントリーで始り、その後に関連した root
、kernel
及び initrd
の指示文が常にインデント付きになります。各スタンザが title
で始り、それが同じスタンザの kernel /vmlinuz-<version_number>
行にあるバージョン番号と一致するバージョン番号 (括弧内) を含んでいることを確認します。
例24.2 /boot/grub/grub.conf
# grub.conf generated by anaconda
[comments omitted]
default=1
timeout=0
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title Red Hat Enterprise Linux (2.6.32-22.el6.x86_64)
root (hd0,0)
kernel /vmlinuz-2.6.32-22.el6.x86_64 ro root=/dev/mapper/vg_vm6b-lv_root rd_LVM_LV=vg_vm6b/lv_root rd_NO_LUKS rd_NO_MD rd_NO_DM LANG=en_US.UTF-8 SYSFONT=latarcyrheb-sun16 KEYBOARDTYPE=pc KEYTABLE=us rhgb quiet crashkernel=auto
initrd /initramfs-2.6.32-22.el6.x86_64.img
title Red Hat Enterprise Linux (2.6.32-19.el6.x86_64)
root (hd0,0)
kernel /vmlinuz-2.6.32-19.el6.x86_64 ro root=/dev/mapper/vg_vm6b-lv_root rd_LVM_LV=vg_vm6b/lv_root rd_NO_LUKS rd_NO_MD rd_NO_DM LANG=en_US.UTF-8 SYSFONT=latarcyrheb-sun16 KEYBOARDTYPE=pc KEYTABLE=us rhgb quiet crashkernel=auto
initrd /initramfs-2.6.32-19.el6.x86_64.img
title Red Hat Enterprise Linux 6 (2.6.32-17.el6.x86_64)
root (hd0,0)
kernel /vmlinuz-2.6.32-17.el6.x86_64 ro root=/dev/mapper/vg_vm6b-lv_root rd_LVM_LV=vg_vm6b/lv_root rd_NO_LUKS rd_NO_MD rd_NO_DM LANG=en_US.UTF-8 SYSFONT=latarcyrheb-sun16 KEYBOARDTYPE=pc KEYTABLE=us rhgb quiet
initrd /initramfs-2.6.32-17.el6.x86_64.img
別の
/boot/
パーティションが作成されている場合、カーネルへのパスと initramfs
イメージへのパスは /boot/
に対して相対的になります。これが上記の 例24.2「/boot/grub/grub.conf」 内のケースです。そのため、最初のカーネルスタンザ内の initrd /initramfs-2.6.32-22.el6.x86_64.img
の行は、root ファイルがマウントされている時には initramfs
イメージが実際に /boot/initramfs-2.6.32-22.el6.x86_64.img
にあることを意味します。そして、grub.conf
の各スタンザ内のカーネルパス (例えば: kernel /vmlinuz-2.6.32-22.el6.x86_64
) にも同じことが言えます。
注記
grub.conf
内のカーネルブートスタンザでは、initrd
指示文は同じカーネルバージョンに該当する initramfs
ファイルの位置 (別のパーティションの場合、/boot/
ディレクトリに対して相対的) を指している必要があります。この指示文は、初期 RAM ディスクイメージを作成したツール、mkinitrd
が initrd
と呼ばれるファイルを作成したために initrd
と呼ばれます。そのため、grub.conf
指示文は、他のツールとの互換性を維持するために initrd
であり続けます。初期 RAM ディスクイメージを作成するための dracut
ユーティリティを使用したシステムのファイル名命名の慣習は: initramfs-<kernel_version>.img
となります。
Dracut は Red Hat Enterprise Linux 6 内で使用できる新しいユーティリティであり、
mkinitrd
と比較してかなり向上しています。Dracut の使用法に関する詳細には、「初期 RAM ディスクイメージの検証」 を参照して下さい。
kernel /vmlinuz-<kernel_version>
の行に提示されているカーネルバージョン番号が、各スタンザの initrd /initramfs-<kernel_version>.img
行に提示された initramfs
イメージのバージョン番号に一致することを確認する必要があります。詳細には、手順24.1「初期 RAM ディスクイメージの検証」 を参照して下さい。
default=
指示文は GRUB に対してどのカーネルをデフォルトでブートすべきかを伝えます。grub.conf
内の各title
はブート可能なカーネルを示します。GRUB は、0
から開始して、ブート可能なカーネルを示す title
スタンザをカウントします。例24.2「/boot/grub/grub.conf」 内では、default=1
の行は GRUB がデフォルトでブートすることを表し、これは、2つめ のカーネルエントリである title Red Hat Enterprise Linux (2.6.32-19.el6.x86_64)
です。
例24.2「/boot/grub/grub.conf」 内でバージョン番号で比較する場合、GRUB はより古いカーネルをブートするために設定されています。
grub.conf
内の 1番め の title
エントリである、より新しいカーネルをブートするためには、default
値を0
に変更する必要があります。
rpm
を使用して新しいカーネルをインストールした後には、/boot/grub/grub.conf
が正しいことを確認して、default=
値を新しいカーネルに変更します (0
からカウントすることを忘れないで下さい)。そしてコンピュータをその新しいカーネルでブートします。ブートプロセス出力を見て、ハードウェアが検出されていることを確認します。
GRUB がエラーを表示してデフォルトカーネルでブートが出来ない場合、代替の、即ち古いカーネルでブートして見ることが一番簡単です。ブート後に問題の修復をします。
重要
grub.conf
内の timeout
指示文を0
にセットすると、システムの起動時に GRUB はブート可能なカーネルの一覧を表示しなくなります。起動時にこの一覧を表示するには、BIOS 情報が出現した直後にいずれかの英数文字キーを押し続けます。すると GRUB は GRUB メニューを表示します。
別の方法として、システムのブート用に以前に作成しているブートメディアを使用します。