我有两个操作系统: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 菜单可见 1 秒,也尝试过
GRUB_TIMEOUT_STYLE=countdown
同样的结果,如果GRUB_TIMEOUT
设置为 0,则延迟 10 秒
每次更改后我都会输入update-grub
并重新启动计算机以查看结果。
根据 GRUB 文档,info -f grub -n 'Simple configuration'
第二种方法已被弃用。正确的方法是第三种 - 使用GRUB_TIMEOUT_STYLE
,但不幸的是它不起作用。这可能是某种错误。
答案1
我找到了一个非常快捷的解决方案,但我还没有考虑其后果。
在 update-grub 的 os_prober 脚本中,有一些行可以绕过您设置的超时并在发现其他操作系统时强制显示启动菜单。您可以通过将“quick_boot”变量设置为 0 轻松禁用此功能。
在
/etc/grub.d/30_os_prober
文件开头更改quick_boot="1"
到quick_boot="0"
然后运行
sudo update-grub
答案2
通常情况下,如果您只运行一个操作系统,该选项GRUB_TIMEOUT=0
就会起作用。如果 GRUB 2os-prober
在运行脚本时识别出其他操作系统,/etc/grub.d/30_os-prober
隐藏菜单超时功能将被条件语句禁用。这还会禁用在启动期间使用该键显示菜单的功能Shift。拥有多个操作系统并希望隐藏菜单的用户可以在各种论坛上找到脚本编辑,这将允许他们向启动顺序添加隐藏超时功能。
查看这个答案如果它对你有帮助。
答案3
我尝试进行编辑30_os_prober
,但结果发现名称已更改为10_os_prober
。
除了上面提供的解决方案之外莫察赫对我来说非常完美。
我现在有:
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