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..

任何建议将不胜感激!

Bolodya @ bugs.launchapd.net的这个解决方案为我工作:

我有同样的问题 – 如果我试图隐藏它(我在一个磁盘上有Windows和ubuntu),在启动过程中无法通过esc或shift键访问grub菜单。

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

所以对我来说工作如下:

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

    • 注释第33行:if [“x $ {found_other_os}”=“x”]; 然后
    • 和评论在第67行关闭它“fi”
  2. Sudo update-grub

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

对我来说,线条分别是32和66

这条线说
GRUB_HIDDEN_TIMEOUT_QUIET=true是对的。
我认为您还需要更改GRUB_TIMEOUT=0而不是5和GRUB_HIDDEN_TIMEOUT=10以使菜单不显示,除非在引导期间保持Shift键。

您可能希望设置小于10秒的时间(3-5对我有用)或者您将在GRUB引导内核之前等待一段时间。

如果这仍然不适合你,请告诉我!

参考