ubuntu grub2セットアップ

grubからgrub2へのアップグレードメモ@ubuntu 9.10。grub.cfg生成スクリプトを極力触らない方針。

  • インストール
  • 設定(/etc/default/grub)の書き換え
  • grub2背景画像指定
  • grub.cfg生成
  • MBRへの書き込みと掃除
インストール

インストール時に色々聞かれるけど後で設定するのでデフォルトのまま。

ihiroky@eeepcs101:~$ sudo aptitude install grub2
設定(/etc/default/grub)の書き換え

変更した変数のみ列挙。

# カーネルオプション。 quiet splash を消せば起動過程がテキスト表示される。
# quiet だけ消すとテキストと起動過程が両方見える。
# 2行目はext4のwritebackの設定。
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash locale=ja_JP"
GRUB_CMDLINE_LINUX="rootflags=commit=600,data=writeback,nobh clocksource=hpet"

# スクリーンのサイズ。EeePC S101は1024x600。
# `sudo vbetool vbefp panelsize`で良きに計らってくれるかも知れない。
GRUB_GFXMODE=1024x600
grub2背景画像指定

wp1.pngが使いたい背景画像。/etc/grup.d以下をいじりたくなかったのでリンクでごまかす。いじる場合は /etc/grub.d/05_debian_theme を参照。ただし、grub2が1024x600をうまく扱えないようで、表示を正しい縮尺にするためには1024x600の画像を800x600に縮小しておく。(Nathan Coulson's Websiteが根本的な解決策?未検証。)

ihiroky@eeepcs101:~$ sudo cp wp/wp1.png /boot/grub
ihiroky@eeepcs101:~$ sudo ln -s /boot/grub/wp1.png /boot/grub/moreblue-orbit-grub.png 
grub.cfg生成

/etc/default/grubを用いてgrub2の設定(/boot/grub/grub.cfg)を生成するらしい。なお、このコマンド終了後、背景画像指定で使ったリンクは削除しても大丈夫。設定にはリンクでなく本体へのパスが記述されていた。

ihiroky@eeepcs101:~$ sudo update-grub2 
Generating grub.cfg ...
Found linux image: /boot/vmlinuz-2.6.31-14-generic
Found initrd image: /boot/initrd.img-2.6.31-14-generic
Found memtest86+ image: /boot/memtest86+.bin
Found Microsoft Windows XP Home Edition on /dev/sda1
done

ここで再起動。grubからチェインロードできるようになっているので、grub2を試す。うまくいったら以下の手順を踏む。

MBRへの書き込みと掃除
ihiroky@eeepcs101:~$ sudo upgrade-from-grub-legacy 
ihiroky@eeepcs101:~$ sudo rm /boot/grub/menu.lst*

/etc/default/grub が変更されているけどどうする?と聞かれるので、「ローカルのバージョンを保持」。また、grub2のインストール先は /dev/sda にしてgrubを上書きした。grubの設定は不要になるので削除。