我在随机(远程)位置安装了一堆无头服务器,它们都运行着 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: