Grubで前に起動したシステムを記憶する

私は特にノートパソコンでUbuntuとWindowsのデュアルブートをよく使う。メインはUbuntuであっても、たまにWindowsが必要だったり、Windowsのアップデートをかける必要があるときがある。

一般的にUbuntuを導入すればデフォルトでUbuntuが起動するようになっているはずである。しかし、たまにはそうでないようにしたいときがある。
例えばWindows Update、とりわけWindows 10なら半年に1回ある大きなアップデート(アップグレード)のときにWindowsは何回も再起動するのだが、そのたびにGrubを見張ってGrubのWindows起動メニューを選ぶというのは面倒である。
かといって、Grubの設定を変更して常にWindowsを優先起動するほどではない…そんな悩みをお持ちの方も多いだろう。

そのような場合、Grubに「前に起動したシステム」を覚えさせる、という手がある。
例えば、前にWindowsを起動していれば、次回の起動時には自動的にWindowsが起動するようになる。もちろん、Ubuntuに変えたければ、起動時にUbuntuのメニューを選べばいい。

このようにするためには、Grubの設定ファイルを少しだけ修正する必要がある。
/etc/default/grubを管理者モードで編集する。コマンドラインで”sudo gedit /etc/default/grub”と入れるのがいいだろう。

そして、以下の2行を追加する、というか、GRUB_DEFAULTの部分はすでにあるはず(たいていは0となっている)なので、それを編集する。

GRUB_DEFAULT=saved
GRUB_SAVEDEFAULT=true

(ウェブに出ている情報で、GRUB_DEFAULTだけ変更するように書かれているものもあるが、2行目も必要である。)

編集が終了したら、以下のコマンドを実行し、変更内容を反映させる。

sudo update-grub

GRUB_DEFAULTは、Grubの初期画面の何番目(何行目)をデフォルトで選択するかを示すもので、大抵はこれが0となっている。これは一番最初のエントリーをデフォルトで起動するというものであり、これを1、2などとすれば、デフォルトのエントリーを変えることも可能である。
ここを「saved」とすれば、前回に選択した起動システムを記憶してくれるので、Windowsを何回も再起動で選択しなければならない、といったときもただ放っておけばよい。
なお、Ubuntuに戻る際には、改めてGrub画面でちゃんとUbuntuを選ぶ必要がある。

LinuxとWindowsのデュアルブートで、両者をそこそこ使うような場合には便利なオプションだろう。