GUIツールに頼らないgrub2の設定方法

Startup-Managerは、WindowsやLinuxをデュアルブート、トリプルブートで使うユーザーにとっては、必須ともいえるGUIツールだったのだが、Ubuntu12.04LTSのリリースとともに、リポジトリからその姿を消した。

Startup-Managerの代替となるGUIツールとして、grub-customizerがあちこちで紹介されているようだが、今回は、GUIアプリに頼らず、昔ながらのやり方でgrub2を設定してみた。

メニューエントリへの登録

先ずは、次のコマンドでデバイスマップを作成する。

 $ sudo grub-mkdevicemap

デフォルト起動OSの設定

次に、起動時間やデフォルトの起動OSを変更してみる。

grub2の基本設定は、/boot/grub/grub.cfgにあるが、修正はすべて/etc/default/grubで行うことになっているので、スーパーユーザーになって、次のコマンドでgrubを編集する。

$ sudo nano /etc/default/grub

ここではgedit nanoを使っているが、日頃使い慣れたテキストエディタでOK。また、gksuコマンドの代わりにsudoでもよい。

Windows7とUbuntuのダブルブートで利用しているノートパソコンの場合、grubの先頭から12行目まではこんな感じになっている筈。

Nano_Grub2

起動時のデフォルトOSは、GRUB_DEFAULTで指定する。通常は、先頭のOSを0番として数字で指定することになっているが、ここでは、OS名の”Windows 7 (loader) (on /dev/sda1)”が指定されている。

なお、OS名を取得するには、次のgrepコマンドを使う。

 
 $ grep menuentry /boot/grub/grub.cfg

結果はこんな感じになるので、”で囲まれたOS名を指定(又は0から起算した番号指定)すればよい。

menuentry 'Ubuntu, with Linux 3.2.0-24-generic' --class ubuntu --class gnu-linux --class gnu --class os {
menuentry 'Ubuntu, with Linux 3.2.0-24-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os {
menuentry 'Ubuntu, with Linux 3.2.0-23-generic' --class ubuntu --class gnu-linux --class gnu --class os {
menuentry 'Ubuntu, with Linux 3.2.0-23-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os {
menuentry "Memory test (memtest86+)" {
menuentry "Memory test (memtest86+, serial console 115200)" {
menuentry "Windows 7 (loader) (on /dev/sda1)" --class windows --class os {

起動時間の設定

起動時間の設定は、grubのなかのGRUB_TIMEOUTで指定する。GRUB_TIMEOUT=10となっていれば、選択メニューが表示されてから10秒後に、デフォルトOSが自動的に選択されるようになっている。数値を変えれば、この起動時間を変更できる。

なお、GRUB_HIDDEN_TIMEOUTがコメントアウトされているが、先頭の#を削除すると、選択メニューが表示されなくなるので、ご注意を。

最後の仕上げとGrub2の再設定

grubの編集が終わったら、次のupdate-grubコマンドで変更内容を反映させる。

 
 $ sudo update-grub

なお、致命的なタイプミスなどにより、起動できなくなったときは、慌てず騒がずGrub2の再設定を行おう。

今後は、冒頭で紹介したgrub-customizerなど、簡単便利なGUIツールが公式リポジトリにも登録されるようになるだろうが、こういうCUIによる設定も覚えておくと、どこかで役に立つときがあるかもしれない。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする

スポンサーリンク