Ubuntu 9.10等,GRUB2を採用するディストリビューションも増えてきたこの頃,イカがお過ごしでしょうか。今日は,そんなGRUB2を色々いじっていて気づいたいくつかのtipsをメモしたりなんかします。
/boot/grub/menu.lst はもういない
GRUBのメニュー表示設定といえば /boot/grub/menu.lst という勢いで,インターネット上にもそのファイルの編集ノウハウがたくさん転がっていますが,GRUB2採用のUbuntu9.10にはそんなファイルありません。とっとと忘れましょう。
udzura@ubuntu-vaio:~$ ls /boot/grub/menu.lst ls: /boot/grub/menu.lstにアクセスできません: No such file or directory udzura@ubuntu-vaio:~$
デュアルブートしてるんだけど,起動画面で,正直Windowsが上にきてほしい
Windowsを入れているPCに,デュアルブート構成でUbuntuその他Linuxを入れると、「Ubuntu, Linux 2.6.31-19-generic」とかそういうエントリーが上のほうにきて,デフォルトでブート(ほっといてブート)するのもLinuxになります。 /boot/grub/menu.lst はもういないので,この順序を変えるにはどうすればいいの???
大丈夫! 実は簡単なんです。 /etc/grub.d と言うディレクトリをご覧ください
udzura@ubuntu-vaio:~$ ls /etc/grub.d 00_header 10_linux 30_os-prober README 05_debian_theme 20_memtest86+ 40_custom udzura@ubuntu-vaio:~$
そう,実はこの順番でメニューが表示されるのです。10のlinux、20のmemtest、そしてやっと30のその他OS,と言う風に……
その他OSたるWindowsを上に持ち上げるには,30になってるos-proberを05より大きく10より小さい数に mv(1) すれば良いと思います。07とかいいんじゃないでしょうか。
1 | sudo mv /etc/grub.d/30_os-prober /etc/grub.d/07_os-prober |
そして、
1 | sudo update-grub |
udzura@ubuntu-vaio:~$ sudo update-grub [sudo] password for udzura: Generating grub.cfg ... Found Windows Vista (loader) on /dev/sda1 Found Windows Vista (loader) on /dev/sda2 Found linux image: /boot/vmlinuz-2.6.31-19-generic Found initrd image: /boot/initrd.img-2.6.31-19-generic Found linux image: /boot/vmlinuz-2.6.31-17-generic Found initrd image: /boot/initrd.img-2.6.31-17-generic Found linux image: /boot/vmlinuz-2.6.31-16-generic Found initrd image: /boot/initrd.img-2.6.31-16-generic Found linux image: /boot/vmlinuz-2.6.31-15-generic Found initrd image: /boot/initrd.img-2.6.31-15-generic 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 done udzura@ubuntu-vaio:~$
Windowsが先に認識されたのが分かります。
Linuxのカーネルのバージョンがたくさん出てきてうっとうしい
上記のとおり,update-grub(8)はインストールされているLinuxのカーネルをすべて引っ張り出してしまいます。なので、アップデートが為されるたびにエントリーが追加されていきます。
でも、正直行って最新のカーネルしか使いませんよね。。
実はupdate-grub(8)は、 /boot/grub/grub.cfg を生成しているだけに過ぎないのです。なので、最悪、直接いじってしまえばいいのです。
ここで要注意なのは,/boot/grub/grub.cfg はrootを含む全ユーザに対してしてリードオンリー属性なので,いったん chmod(1) してあげないと,編集しても保存できなかったりとか何かと都合が悪いという事です。
1 2 3 | sudo chmod u+w /boot/grub/grub.cfg sudo gedit /boot/grub/grub.cfg sudo chmod u-w /boot/grub/grub.cfg |
menuentry "Ubuntu, Linux 2.6.31-14-generic" {
......
}
↑のカギカッコの塊を好きなだけ消しちゃいましょう(※ 消しすぎると起動できなくなります!)。
* * *
以上,実施した結果は無保証ですが。。お役に立てば何より。




