GRUB 隐藏菜单不起作用

GRUB 隐藏菜单不起作用

隐藏菜单选项不起作用。我希望菜单在启动时保持隐藏,但在按下按钮时显示。

我将 /etc/default/grub 配置如下:

GRUB_DEFAULT=0
GRUB_HIDDEN_TIMEOUT=10
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX=""

使用以下设置:

GRUB_DEFAULT=0
GRUB_HIDDEN_TIMEOUT=10
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT=0

如果我什么都不按,菜单就不会出现,而且我可以知道计算机正在等待 10 秒钟才能启动。问题是无论我按什么键(Esc、Tab、Shift、Enter),无论我何时按下它或是否/何时按住它,我都无法显示菜单。唯一出现的是文本:Grub Loading..

任何建议将不胜感激!

答案1

该解决方案博洛迪亚@bugs.launchapd.net对我有用:

我遇到了同样的问题 - 如果我试图隐藏它,则无法在启动期间通过 esc 或 Shift 键访问 grub 菜单(我在一个磁盘上安装了 Windows 和 ubuntu)。

原因是 /etc/grub.d/30_os-prober 脚本中存在一个奇怪的情况。如果 os-probber 发现任何其他操作系统,它会阻止 grub.cfg 的隐藏菜单部分。

因此对于我来说,操作如下:

  1. 在文件 /etc/grub.d/30_os-prober 中

    • 注释第 33 行: if [ "x${found_other_os}" = "x" ] ; then
    • 并在第 67 行用“fi”结束注释
  2. sudo 更新 grub

此后,如果 GRUB_HIDDEN_TIMEOUT >=1,那么您可以在此超时期间通过 esc 键访问 grub 菜单;如果 GRUB_HIDDEN_TIMEOUT =0,那么您可以在 grub 启动期间按“shift”访问 grub 菜单;如果 GRUB_HIDDEN_TIMEOUT =-1,则不会有隐藏菜单。

对我来说,这两行分别是 32 和 66

答案2

上面那行
GRUB_HIDDEN_TIMEOUT_QUIET=true是正确的。
我认为您还需要更改 GRUB_TIMEOUT=05,GRUB_HIDDEN_TIMEOUT=10并使菜单不显示,除非Shift在启动过程中按住该键。

您可能需要设置小于 10 秒的时间(对我来说 3-5 秒就够了),否则您将需要等待一段时间才能 GRUB 启动内核。

如果这对您仍然不起作用请告诉我!

参考

相关内容