有没有办法让 GRUB 故障保护超时?

有没有办法让 GRUB 故障保护超时?

我在随机(远程)位置安装了一堆无头服务器,它们都运行着 Ubuntu 11.04。有时这些服务器会宕机,再也无法恢复,最后有人去检查它们时会发现它们正停留在 GRUB 屏幕上。

在正常启动时,机器会毫无问题地通过 GRUB,但似乎内置了某种“故障保护”装置,如果机器无法正常启动,则下次启动时,它会停在 GRUB。

我知道这是为了我的安全,但由于机器的设置方式,我希望这种情况不会发生(或者至少在一两分钟后超时并尝试重新启动)。有没有办法禁用此功能?

答案1

Ubuntu 有一个“可爱”(读作:烦人)的功能,它会记录启动失败并设置 grub 超时-1,从而禁用自动启动。你不是唯一一个不喜欢它的人,请参阅这里

您应该可以通过编辑来解决这个问题/etc/grub.d/00_header,找到以下内容的部分。

if [ "\${recordfail}" = 1 ]; then
  set timeout=-1

..并将其更改为合理的内容,例如..

if [ "\${recordfail}" = 1 ]; then
  set timeout=10

..然后运行update-grub

grub2在软件包(或操作系统)升级期间,此文件可能会被重置为默认值,因此请小心。

答案2

从 Ubuntu 12.10(可能移植到 Ubuntu 12.04)开始,以下内容可在 Ubuntu 上运行:

$ echo GRUB_RECORDFAIL_TIMEOUT=20 | sudo tee -a /etc/default/grub
$ sudo update-grub
$ sudo env DEBIAN_FRONTEND=noninteractive dpkg-reconfigure grub-pc

以上内容是 Alex 在 2013 年 10 月回应 Shane Madden 在 2012 年 1 月的回答时提到的。请参阅本页上的评论 #13 和 #14:

https://bugs.launchpad.net/ubuntu/+source/grub2/+bug/669481

相关内容