如何强制Ubuntu在卡住的启动菜单上启动?

我有Ubuntu Server 11.04,但它是无头的(没有监视器)。 我希望能够访问它的唯一方法是通过SSH远程访问。 但是,有时候,在断电后,当服务器重新启动时,它会卡在Grub启动菜单上,并且不会倒计时。 它会挂在那里等我选择第一个启动项。 这意味着我必须去那里插上显示器和键盘。

但我无法远程做到这一点。 无论断电或其他什么原因,如何强制它继续引导至引导条目1(默认)?

这个答案可以在grub文件/etc/grub.d/00_header

 make_timeout () { cat << EOF if [ "\${recordfail}" = 1 ]; then set timeout=-1 else set timeout=${2} fi EOF } 

将超时值设置为-1将停止倒计时。 将值更改为> 0,即set timeout=10

这部分文件看起来像

 make_timeout () { cat << EOF if [ "\${recordfail}" = 1 ]; then set timeout=10 else set timeout=${2} fi EOF } 

然后跑

 sudo update-grub2 

从Ubuntu 12.04开始,更简单但未记录的解决方案是使用/etc/default/grub覆盖recordfail超时:

 GRUB_TIMEOUT=10 GRUB_RECORDFAIL_TIMEOUT=$GRUB_TIMEOUT 

这种选择完全没有记录的事实太糟糕了。

编辑

实际上,从版本1.99-21ubuntu3.3开始,在12.04周期的中间添加了对GRUB_RECORDFAIL_TIMEOUT的支持:

  grub2 (1.99-21ubuntu3.3) precise-proposed; urgency=low [ Ben Howard ] * Parameterization of recordfail setting. This allows users to define the default time out of GRUB when recordfail has been set. The curren setting causes hangs on headless and appliances where access to the console is limited or prohibited. (LP: #669481) [1] -- Louis Bouchard  Tue, 21 Aug 2012 10:51:58 +0200 

LaunchPad的更多详细信息。