Ubuntu 14.04 在升级内核或是不安全断电情况下,重启后GRUB 会停留在系统选择界面,并不会自动超时,需要手动选择并按回车才能继续启动. 在不方便接触物理机或 VPS 远程开机时,是个很麻烦的事.
主要原因是/boot/grub/grub.cfg 把 timeout 设置成了'-1'.
if [ "${recordfail}" = 1 ] ; then
set timeout=-1
else
if [ x$feature_timeout_style = xy ] ; then
set timeout_style=hidden
set timeout=0
# Fallback hidden-timeout code in case the timeout_style feature is
# unavailable.
elif sleep --interruptible 0 ; then
set timeout=0
fi
fi
grub.cfg 会被重写覆盖,得修改/etc/default/grub,加入一行
GRUB_RECORDFAIL_TIMEOUT=5
更新 grub.cfg
update-grub
然后'-1'的设置会变更为'5',这样不用手动操作,系统会在5秒超时会继续启动,不再挂住.