如何在ubuntu 14.04中隐藏grub菜单

我有两个操作系统:Windows 8.1和Ubuntu 14.04。 我想隐藏grub菜单。 我正在使用grub 2.02~beta2-9。 我尝试了以下/etc/default/grub

  1.  \#GRUB_HIDDEN_TIMEOUT=1 \#GRUB_HIDDEN_TIMEOUT_QUIET=true GRUB_TIMEOUT=0 

    grub菜单可见10秒钟(如果超过大于0的值设置超时则显示正确: GRUB_TIMEOUT=5 – 5秒延迟)

  2.  GRUB_HIDDEN_TIMEOUT=1 GRUB_HIDDEN_TIMEOUT_QUIET=true GRUB_TIMEOUT=0 

    grub菜单可见,我也尝试了GRUB_HIDDEN_TIMEOUT=false并将GRUB_TIMEOUTGRUB_HIDDEN_TIMEOUT都设置为零和非零值

  3.  \#GRUB_HIDDEN_TIMEOUT=1 \#GRUB_HIDDEN_TIMEOUT_QUIET=true GRUB_TIMEOUT=1 GRUB_TIMEOUT_STYLE=hidden 

    如果GRUB_TIMEOUT设置为0,延迟10秒,grub菜单可见1秒,尝试GRUB_TIMEOUT_STYLE=countdown结果相同

每次更改后,我键入update-grub并重新启动计算机以查看结果。

根据在info -f grub -n 'Simple configuration'找到的GRUB文档,第二种方法已被弃用。 正确的方法是第三个 – 使用GRUB_TIMEOUT_STYLE ,但不幸的是它不起作用。 这可能是某种错误。

通常,如果只有一个OS运行,则选项GRUB_TIMEOUT=0将起作用。 如果GRUB 2的os-prober在运行/etc/grub.d/30_os-prober脚本时识别其他操作系统,则条件语句将禁用隐藏菜单超时function。 这也会禁用在启动过程中使用Shift键显示菜单的function。 具有多个操作系统的用户希望隐藏菜单可以在各种论坛上找到脚本编辑,这将允许他们为启动序列添加隐藏的超时function。

如果有帮助,请检查此答案 。

我找到了一个非常快速的解决方案,但我还没有看到后果。

在用于update-grub的os_prober脚本中,有一些行绕过你设置的超时,并强制显示启动菜单(如果找到了其他操作系统)。 您可以通过将“quick_boot”变量设置为0来轻松禁用此function。

  • 在文件更改开头的/etc/grub.d/30_os_prober

    quick_boot="1"quick_boot="0"

  • 然后运行sudo update-grub

我尝试编辑30_os_prober ,但事实certificate该名称已更改为10_os_prober

除此之外, Motsah上面提供的解决方案对我来说非常适合。

我现在有:

 GRUB_DEFAULT="0" GRUB_HIDDEN_TIMEOUT="1" GRUB_HIDDEN_TIMEOUT_QUIET="true" GRUB_TIMEOUT="0" 

在我的/etc/default/grub

将隐藏超时更改为更高的设置似乎没有做任何事情。 有0会使进入菜单变得不可能。

从上面复制,更改为10_os_prober以完成此操作:

/etc/grub.d/10_os_prober更改

 quick_boot="1" 

 quick_boot="0" 

在文件的开头。

跑:

 sudo update-grub