grub2題

grubメニューが表示されない

 このところずっとgrubメニューが表示されていなかった。windowsとのデュアルブートを考えていたこともあって表示を企んだ。ところが、いろいろ調べてもうまく行かない。

GRUB_DEFAULT="0"
GRUB_TIMEOUT_STYLE="menu"
GRUB_TIMEOUT="5"
GRUB_HIDDEN_TIMEOUT_QUIET="false"
GRUB_DISTRIBUTOR="`lsb_release -i -s 2> /dev/null || echo Debian`"
GRUB_CMDLINE_LINUX_DEFAULT="splash"
GRUB_CMDLINE_LINUX=""

 これで問題はないはずなんだが、表示されない。OSブートに行く前に待ち時間があるのでTIMEOUTが効いていると思われる。つまり本当は表示しているんだろうけど見えない状態。文字と背景が同じ色になっているのかとも疑ったが、そうではなかった。
 数日悩んで発見。これでいけた。

# Uncomment to disable graphical terminal (grub-pc only)
GRUB_TERMINAL="console"

 修正前はGRUB_TERMINAL="" となっていた。

windowsが登録されない

 os-proberがwindowsを探し出してくれない。調べていたらこんな記述を発見。

後で試してわかるのですが、LinuxをBIOSブートで起動している場合はUEFIブートのOSを検出してくれませんが、UEFIブートで起動した場合はos-proberでWindows Boot Managerを検出でき、systemd-bootやrEFIndと同様にgrub-mkconfigで自動でUEFIのWindowsを探してくれます。

 windowsはレガシーで動いている。

 ubuntuはUEFIで動いている。

 当たりだった。引用した事例とは逆で、windowsがレガシー、ubuntuがUEFIだけど。で、windowsをUEFIでインストールするにはインストールメディアをUEFIでブートすればいいらしい。rufusでisoファイルを転送してブートしてみる。

 レガシーでブートしようとしてしまうもよう。BIOSのセットアップにはそれらしき切り替え設定はない。ということで、ここで詰んだ。やはりそろそろPCの更新時期かも。