如何强制 grub 启动(无需人工输入)而不考虑之前的启动失败

如何强制 grub 启动(无需人工输入)而不考虑之前的启动失败

当上次启动失败时(由于电源故障、硬件故障),启动将挂在 grub 菜单处等待人工提示。

无论发生什么情况,您都可以设置强制启动选项吗?

答案1

添加

GRUB_RECORDFAIL_TIMEOUT=0

到 /etc/default/grub,这解决了我在 Ubuntu Server 12.04.4 上的问题

Grub 用作GRUB_RECORDFAIL_TIMEOUT上次启动失败时的超时时间。其值默认为 -1,表示永远等待。

答案2

好的,我通过 shlug 邮件列表自己找到了解决方案。

您要做的是修改 /etc/grub.d/00_header 并找到:

if [ "${recordfail}" = 1 ]; then
  set timeout=-1
else
  set timeout=3
fi

将超时 = -1 更改为 0。

-1表示手动选择。

还要记住update-grub随后生成实际的 grub.cfg

答案3

这被报告为 ubuntu 的错误 #841009。我尝试将 -1 设置为 0,但没有奏效。所以我尝试了这里给出的另一种解决方案:https://bugs.launchpad.net/ubuntu/+source/grub2/+bug/841009

引用:

GRUB_HIDDEN_TIMEOUT=-1[...] 解决方案是按照 ubuntu 论坛上的建议进行设置http://ubuntuforums.org/showthread.php?t=1403517但我还没有尝试过这个解决方案。

引用:

ubuntu 9.10 服务器中的 grub2 默认配置为 GRUB_HIDDEN_TIMEOUT=0。如果没有连接键盘(如我的无头设置),这会导致 grub2 进入菜单并停留在那里。将其设置为 -1 可获得所需的菜单、超时和默认选择的顺序。

我不知道这是否是 grub2 错误,但是如果这是 grub2 的预期行为,则服务器发行版(例如 ubuntu 服务器)的默认配置(您希望它开箱即用)应该有所不同。

它对我有用。

相关内容