如何在ubuntu 14.04中隐藏grub菜单
我有两个操作系统:Windows 8.1和Ubuntu 14.04。 我想隐藏grub菜单。 我正在使用grub 2.02~beta2-9。 我尝试了以下/etc/default/grub
:
-
\#GRUB_HIDDEN_TIMEOUT=1 \#GRUB_HIDDEN_TIMEOUT_QUIET=true GRUB_TIMEOUT=0
grub菜单可见10秒钟(如果超过大于0的值设置超时则显示正确:
GRUB_TIMEOUT=5
– 5秒延迟) -
GRUB_HIDDEN_TIMEOUT=1 GRUB_HIDDEN_TIMEOUT_QUIET=true GRUB_TIMEOUT=0
grub菜单可见,我也尝试了
GRUB_HIDDEN_TIMEOUT=false
并将GRUB_TIMEOUT
和GRUB_HIDDEN_TIMEOUT
都设置为零和非零值 -
\#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