For reference, my grub file:
Code:
# If you change this file, run 'update-grub' afterwards to update
# /boot/grub/grub.cfg.
# For full documentation of the options in this file, see:
# info -f grub -n 'Simple configuration'
GRUB_DEFAULT=0
GRUB_HIDDEN_TIMEOUT=3
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT=3
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="text"
GRUB_CMDLINE_LINUX=""
# Uncomment to enable BadRAM filtering, modify to suit your needs
# This works with Linux (no patch required) and with any kernel that obtains
# the memory map information from GRUB (GNU Mach, kernel of FreeBSD ...)
#GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef"
# Uncomment to disable graphical terminal (grub-pc only)
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo'
#GRUB_GFXMODE=640x480
# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
#GRUB_DISABLE_LINUX_UUID=true
# Uncomment to disable generation of recovery mode menu entries
#GRUB_DISABLE_RECOVERY="true"
# Uncomment to get a beep at grub start
#GRUB_INIT_TUNE="480 440 1"
I played with the timeout values (0, 3, 5, 10) but it isn't this that solved the issue. What solved it was to change the grub.cfg, precisely in the following sequence:
1) sudo nano /etc/default/grub
2) sudo update-grub
3) sudo nano /boot/grub/grub.cfg
Changing this (i.e. in grub.cfg) from:
Code:
fi
terminal_output gfxterm
if [ "${recordfail}" = 1 ] ; then
set timeout=3
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 3 ; then
set timeout=0
fi
fi
... into this:
Code:
fi
terminal_output gfxterm
if [ "${recordfail}" = 1 ] ; then
set timeout=3
else
if [ x$feature_timeout_style = xy ] ; then
set timeout_style=hidden
set timeout=3
# Fallback hidden-timeout code in case the timeout_style feature is
# unavailable.
elif sleep --interruptible 3 ; then
set timeout=0
fi
fi
i.e. second "set timeout=" value changed from '0' to whatever is in the first "set timeout=", 4 lines above (value=3 in this case, as set in /etc/default/grub). Another "sudo update-grub" would overwrite this change in grub.cfg (setting the second "set timeout=" value back to 0). Any idea why that is and why it would block boot to the grub screen?
Haven't had boot problems at all since this change so great for me!
Bookmarks