CentOSにGRUB2を入れる
- Next Page: Sugarsync + Firefox/Thunderbird で再起動するとパスワードが保存されない
- Prev Page: [Excel] 結合セルを含んだ行の高さを自動調整するVBA
GRUB2については、以下の記事を参照してください。
GPTのサポートとRAID,LVMのサポートが大きい改善点でしょうかね。
手順をざっと記載します。何かの役に立てれば幸いです。
環境
Sun xVM VirtualBox 3.1.0
CentOS 5.4
grub-1.98
# 仮想環境です。
準備
コンパイルに必要なものをインストールします。
# yum -y install gcc bison ruby freetype-devel texinfo
ダウンロード
以下のサイトから最新版をダウンロードします。
(1.98はコンパイルエラーが出たので、一つ古いバージョンをダウンロードしてます。原因追求していないですが、恐らくgccのバージョンが古いためと推測しています)
http://alpha.gnu.org/gnu/grub/
# wget "http://alpha.gnu.org/gnu/grub/grub-1.97.2.tar.gz"
コンパイル&インストール
何も考えずにデフォルトで
# ./configure # make # make install
設定ファイル生成
GRUB2の設定ファイルは「/boot/grub/grub.cfg」になります。GRUB Legacyは「grub.conf」でしたね。
GRUB Legacyとは違い、「grub-editenv」コマンドで環境を定義し、「grub-mkconfig」で設定を生成する仕組みになっています。
ここでは、何も考えずにいきなり生成します。
# grub-mkconfig > /boot/grub/grub.cfg
ちなみに私の環境では、以下のファイルが生成されました。(コメント行は省いています)
set default=0
set timeout=5
menuentry "GNU/Linux, with Linux 2.6.18-164.el5" {
insmod ext2
set root=(hd0,1)
search --no-floppy --fs-uuid --set 2174938a-2ac4-4d40-931a-bb30d4e1d7b6
linux /vmlinuz-2.6.18-164.el5 root=UUID=16bdbab0-7eb6-4ea0-ac1e-8b14db0428ef ro
initrd /initrd-2.6.18-164.el5.img
}
menuentry "GNU/Linux, with Linux 2.6.18-164.el5 (recovery mode)" {
insmod ext2
set root=(hd0,1)
search --no-floppy --fs-uuid --set 2174938a-2ac4-4d40-931a-bb30d4e1d7b6
linux /vmlinuz-2.6.18-164.el5 root=UUID=16bdbab0-7eb6-4ea0-ac1e-8b14db0428ef ro single
initrd /initrd-2.6.18-164.el5.img
}
menuentry "GNU/Linux, with Linux 2.6.18-164.6.1.el5.centos.plus" {
insmod ext2
set root=(hd0,1)
search --no-floppy --fs-uuid --set 2174938a-2ac4-4d40-931a-bb30d4e1d7b6
linux /vmlinuz-2.6.18-164.6.1.el5.centos.plus root=UUID=16bdbab0-7eb6-4ea0-ac1e-8b14db0428ef ro
initrd /initrd-2.6.18-164.6.1.el5.centos.plus.img
}
menuentry "GNU/Linux, with Linux 2.6.18-164.6.1.el5.centos.plus (recovery mode)" {
insmod ext2
set root=(hd0,1)
search --no-floppy --fs-uuid --set 2174938a-2ac4-4d40-931a-bb30d4e1d7b6
linux /vmlinuz-2.6.18-164.6.1.el5.centos.plus root=UUID=16bdbab0-7eb6-4ea0-ac1e-8b14db0428ef ro single
initrd /initrd-2.6.18-164.6.1.el5.centos.plus.img
}
GRUBブートローダを書き込み
最後にMBR(など)にブートローダを書き込んで終了です。
仮想環境で実験している人は、ここでいったんスナップショットを取っておきましょう。(起動しなくなったという最悪の事態を防ぐためです)
# grub-install /dev/hda
再起動して確認してみてください。
恐らくkernelのアップデート時に問題が起きると思うので、元に戻しておいたほうが良いと思います。
