我正在尝试在 Ubuntu 9.10 上的 grub2 中启用启动超时选择。
我修改了/etc/default/grub:
GRUB_DEFAULT=0
#GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=false
GRUB_TIMEOUT=2
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="splash quiet"
GRUB_CMDLINE_LINUX=""
并运行update-grub
,但我仍然没有启动超时计数器。您还可以做什么来启用此功能?
答案1
答案取自http://ubuntuforums.org/showthread.php?t=1373965
在 /etc/grub.d/00_header 文件的末尾,注释掉 if 条件,除了常规的设置超时行,如下所示:
#if [ \${recordfail} = 1 ]; then
# set timeout=-1
#else
set timeout=${GRUB_TIMEOUT}
#fi
运行 update-grub 以使用新设置重新生成 grub.cfg:
sudo update-grub
重新启动,现在它应该始终在超时后启动默认选项,即使上次启动失败。
答案2
该问题与 grub env 值有关:recordfail。我能够使用以下命令解决:
grub-editenv /boot/grub/grubenv unset recordfail
另一个可以保证超时始终有效的选项是:
rm /boot/grub/grubenv
如果不这样做,grub 可能会重写该recordfail
值。对于嵌入式系统,我需要这个。
答案3
要获得与以前的答案非常相似的结果,有一种侵入性较小的选择是将以下行添加到您的/etc/default/grub
:
GRUB_RECORDFAIL_TIMEOUT=5
...或您想要的秒数。将其设置为 可能会很危险0
,我不确定。