ブートローダGrubの設定
最近のディストリビューションはブートローダにGrubを使う場合が多いです。FedoraCoreとSUSE LINUXもGrubを使用しています。ここでは私がトリプルブート時に設定した2種類のgrub.confを例に解説していきます。いずれもFedoraCoreのブートローダをMBRにインストールするようにしています。

(06/01/15 更進) SUSEに対応。内容も最新に更新しました。

 設定1 : 基本設定

FedoraCoreの場合、設定ファイルは/boot/grub/grub.confになります。SUSE LINUXの場合は/boot/grub/menu.lstです。内容は基本的に同じです(hiddenmenuはFC4のみ)。以下はFC4とWindowsXPのデュアルブート環境時の設定です。改行していないので横長になっています。御了承下さい。
# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE:  You have a /boot partition.  This means that
#          all kernel and initrd paths are relative to /boot/, eg.
#          root (hd0,6)
#          kernel /vmlinuz-version ro root=/dev/hda9
#          initrd /initrd-version.img
#boot=/dev/hda
default=0
timeout=5
splashimage=(hd0,6)/grub/splash.xpm.gz
#hiddenmenu
title Fedora Core (2.6.14-1.1656_FC4)
        root (hd0,6)
        kernel /vmlinuz-2.6.14-1.1656_FC4 ro root=LABEL=/ rhgb quiet
        initrd /initrd-2.6.14-1.1656_FC4.img
title Fedora Core (2.6.11-1.1369_FC4)
        root (hd0,6)
        kernel /vmlinuz-2.6.11-1.1369_FC4 ro root=LABEL=/ rhgb quiet
        initrd /initrd-2.6.11-1.1369_FC4.img
title Windows XP Professional SP2
        rootnoverify (hd0,0)
        chainloader +1
(END)

 この例ではカーネルバージョンの異なるFedoraCore4が2種類とWindowsXP、SUSE LINUX10.0が存在しています。

 default の値はデフォルトに選択するOSの指定です。titleに記述されたOSを上から0、1、・・・とカウントしているのでここではFC4がデフォルトになっています。例えばWindowsXPをデフォルトにするにはdefaultの値を2にします。

 timeout の値はOS選択のタイムアウト時間(秒)です。ここで指定した時間内にOSを選択しなければデフォルトに指定されたOSが起動します。

 splashimageはOS選択画面で表示される画像の指定です。任意の画像に変更することが出来ます。

 hiddenmenuはFedoraCore4から追加された機能です。デフォルトOSのみの起動画面になり、何かキーを押すことで従来のOS選択画面になります。マルチブートの場合不便なのでここでは#をつけて無効にしています。

 title にはインストールされているOSが記述されています。boot画面で表示されるOS名を変更するにはtitleを書き換えればOKです。

 設定2 : Grub1種類でマルチブート

ここではブート設定をMBRにインストールしたGrubのみ(ここではFC4のGrub)に全て設定することでマルチブートを実現しています。この場合GrubをインストールするOSを一番最後にインストールする(最後にインストールするディストリのGrubでMBRを上書きする)のが一番楽です。この時上書き前のGrubの設定を控えておくのを忘れずに。しかしMBRをアップグレードなどで上書きされるとGrubを再インストールする手間がかかるためあまりお勧めしません。

以下はFC4とWindowsXPのデュアルブート環境時の設定です。改行していないので横長になっています。御了承下さい。
# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE:  You have a /boot partition.  This means that
#          all kernel and initrd paths are relative to /boot/, eg.
#          root (hd0,6)
#          kernel /vmlinuz-version ro root=/dev/hda9
#          initrd /initrd-version.img
#boot=/dev/hda
default=0
timeout=5
splashimage=(hd0,6)/grub/splash.xpm.gz
#hiddenmenu
title Fedora Core (2.6.14-1.1656_FC4)
        root (hd0,6)
        kernel /vmlinuz-2.6.14-1.1656_FC4 ro root=LABEL=/ rhgb quiet
        initrd /initrd-2.6.14-1.1656_FC4.img
title Fedora Core (2.6.11-1.1369_FC4)
        root (hd0,6)
        kernel /vmlinuz-2.6.11-1.1369_FC4 ro root=LABEL=/ rhgb quiet
        initrd /initrd-2.6.11-1.1369_FC4.img

title Windows XP Professional SP2
        rootnoverify (hd0,0)
        chainloader +1
title SUSE LINUX 10.0
        root (hd0,9)
        kernel /boot/vmlinuz root=/dev/hda10 vga=0x317 selinux=0 resume=/dev/hda8 splash=silent showopts
        initrd /boot/initrd
title SUSE LINUX Failsafe
        root (hd0,9)
        kernel /boot/vmlinuz root=/dev/hda10 vga=normal showopts ide=nodma apm=off acpi=off noresume selinux=0 nosmp noapic maxcpus=0 edd=off 3
        initrd /boot/initrd
(END)
SUSEの設定はFC4インストール前に控えておき、FC4インストール後に追記する形になります。

 設定3 : chainloaderでマルチブート

これがマルチブートで最も簡単でなおかつ管理しやすい方法だと思います。MBRにインストールするGrubをメインにし、その他のディストリはインストールするパーティションの先頭にGrubをインストールするようにします。以下はFC5とWinXP、SUSE10.1のトリプルブート時の設定です。
title Fedora Core (2.6.17-1.2157_FC5)
        root (hd0,5)
        kernel /boot/vmlinuz-2.6.17-1.2157_FC5 ro root=LABEL=/ rhgb quiet
        initrd /boot/initrd-2.6.17-1.2157_FC5.img
title Fedora Core (2.6.17-1.2145_FC5)
        root (hd0,5)
        kernel /boot/vmlinuz-2.6.17-1.2145_FC5 ro root=LABEL=/ rhgb quiet
        initrd /boot/initrd-2.6.17-1.2145_FC5.img
title WindowsXP Professional SP2
        rootnoverify (hd0,0)
        chainloader +1
title SUSE LINUX 10.1
        rootnoverify (hd0,7)
        chainloader +1
rootnoverifyの値(hd0,7)はどのハードディスクの何番目のパーティションにインストールしたかを指定します。この例ではハードディスクは1つのみでパーティションは8番め(hda8)にインストールされているのでこのようになります。0からカウントすることに注意してください

この設定ではまずMBRにインストールされたFC5のGrubが起動します。SUSE10.1を選択すると起動手順がパーティションの先頭にインストールされた SUSEのGrubに渡され、続いてSUSEのGrubが起動します。インストールしたディストリが各自Grubを持っているので結果的に2回Grubを見ることになりますが、設定2のようにGrubを上書きされる可能性はほぼ無い(操作ミスは別ですが)ので管理はしやすいと思います(特に再インストール時)。

Linux Tips に戻る