Red Hat Bugzilla – Bug 241147
Grub ignores timeout if hibernated
Last modified: 2012-08-01 14:14:16 EDT
Description of problem:
If you hibernate a machine and power it on, grub boots immediately the last
entry. Grub ignores a specified timeout in /boot/grub/menu.lst
If you shutdown the machine and power it on, timeout is not ignored.
This is a problem on multi-boot system, where you don't always want to boot into
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1. Log into GNOME
2. select System, Shutdown, Hibernate
3. Power on system
GRUB ignores timeout specified in /boot/grub/menu.lst and boots directly into RHEL.
GRUB menu should wait for specified timeout, to be able to boot another OS (on
Multi Boot systems)
Exactly the same problem here with Fedora 8, fresh installation
Same thing still present in Fedora 9, and very annoying.
I ended up installing Fedora's bootloader in the /boot partition instead of MBR, and installing Puppy Linux, with its grub in the MBR, so I had a separate grub instance to allow selecting Windows
What's even more annoying about this is that if you attempt to hibernate the machine, and the hibernate fails (e.g. bug 462204) then grub is still set to ignore the timeout. This means that when you restart, or shutdown/poweron, after the failed hibernate, you'll be forced back into the same kernel you were running during the failed hibernate attempt, and hence can't e.g. switch to a newly installed kernel, or manually select a kernel for testing.
I eventually ended up installing a tiny 100M extra Linux partition with some tiny Linux distro, made that distro install grub to the MBR, then made Fedora install its grub to the partition instead of the MBR. Now, the MBR's grub is never screwed with when Fedora hibernates, and I can choose which OS install to boot always. The lack-of-timeout only affects the Fedora installation, after I've chosen that.
I believe this is a feature, not a bug. After hibernation you have to boot exactly the same kernel as you booted before or otherwise you get into troubles unless you know what you do but if you do, you know how to disable this behaviour as well.