Ubuntu26.04LTS が公開されましたのでデュアルブート環境の Ubuntu25 を削除して入れてみたところ Grub メニューが出なくなり、ちょっと手間取りましたのでその記録です。
01/etc/default/grub を編集
grub でのデュアルブートはそれなりに理解しているつもりでしたが、このケースは初めてです。
まず、gurb の設定変更は /boot/grub/grub.cfg を直接変更するのではなく、
- /etc/default/grub を編集する
- update-grub を実行する
の手順を取ります。管理者権限が必要です。
その /etc/default/grub を見てみますと、
GRUB_DEFAULT=0
GRUB_TIMEOUT_STYLE=hidden
GRUB_TIMEOUT=0
GRUB_DISTRIBUTOR=( . /etc/os-release && echo ${NAME} )
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX=""
となっていますので
GRUB_TIMEOUT_STYLE=menu
GRUB_TIMEOUT=5
GRUB_TIMEOUT はメニューを表示する秒数ですので適当な数字に変更します。これで OK だろうと、管理者権限で sudo update-grub として再起動してみます。
ところがメニューが出ません。
02GRUB_DISABLE_OS_PROBER か?
で、思いついたのが、GRUB_DISABLE_OS_PROBER です。
実は以前、Ubuntu と openSUSE のデュアルブートに苦労したことがあり、その時知ったのが、Ubuntu22.04 から他の OS を探さなくなっているということです。
詳しくは上のリンク先をご覧ください。
で、/etc/default/grub を見てみますと
#GRUB_DISABLE_OS_PROBER=false
とコメントアウトされています。これだ!とコメントアウトを外して…と思ったんですが、ただ、さっき update−grub を実行したときに Ubuntu 24.04 の表示を見ているよなあと思い直し、grub.cfg を確認してみたところ、たしかにメニュー項目に Ubuntu 24.04 があります。
どういうこと?!
03GRUB_TERMINAL=console だった
で、再度 /etc/default/grub をチェックしてみますと
# Uncomment to disable graphical terminal
#GRUB_TERMINAL=console
GRUB_TERMINAL というディレクティブに「グラフィカルターミナルを無効にするにはコメントを解除」とあります。コメントアウトを外し、update−grub して再起動してみました。
出ました!
どういうこと? と、Gemini に聞いてみました。
GRUB_TERMINAL は、Linuxのブートローダー(GRUB)の設定ファイル /etc/default/grub で使用される変数です。GRUBメニューを表示する際の入出力インターフェース(キーボードやディスプレイ)を指定します。
主な設定値
- console: 標準のPC/ATキーボードとVGAモニター(画面)を使用します。
- serial: シリアルポート/シリアルコンソールを使用します。
- console serial: 両方に表示と入力を出力します(物理的な画面とシリアルコンソールの両方でGRUBメニューを操作したい場合に便利です)。
- gfxterm: グラフィカルなターミナル(解像度の高い画面や背景画像)を使用します。
gfxterm を試してみましたところ対応していないということでした(笑)。
これまで気にしたこともなかったんですけどね。console がデフォルトであったものが gfxterm に変更になったんでしょうか(未確認…)。