[Techtalk] Changing the Grub setup

David Sumbler david at aeolia.co.uk
Wed Feb 16 01:19:02 UTC 2011


On Mon, 2011-02-14 at 14:12 -0800, Akkana Peck wrote:
> David Sumbler writes:
> > Is there any advantage in having things set up this way?  I would prefer
> > to see the actual menu which is currently on /dev/sda2 .  Could, and
> > should I simply transfer the /boot directory from /dev/sda2
> > to /dev/sda1, replacing the one that's there?  Or how do I build the
> > thing properly in that location, if it's a good idea?
> 
> I guess the advantage is that it's easier to compartmentalize
> different parts of your grub setup so you can make automated scripts
> to update the grub menu when new kernels appear.
> 
> But it's not worth the disadvantages -- grub2 makes it very painful to
> maintain multi-boot setups, where you have one shared /boot partition
> and several different distro roots on the same machine.
> 
> I flamed about it in a lightning talk at SCALE last year. Here's
> a transcript, with a link to several Linux Planet articles I wrote
> describing the problems and some workarounds.
> http://shallowsky.com/blog/linux/grub2-lightning.html
> 
> But the best workaround is just not to use grub2. grub1 still works
> (though it's no longer maintained), and syslinux is a nice, clean
> alternative that *is* maintained (even better, the author is Peter
> Anvin, a longtime LinuxChix member).

Thanks for your suggestions.  I read the above and the link with
interest.  Still, there was one mystery I felt I wanted to solve with
Grub2 itself: that was, that although the /boot/grub/grub.cfg file
on /dev/sda2 appeared to provide a menu with the items I would want, it
wasn't ever actually displayed.

After a good deal of experimentation (and editing grub.cfg directly) I
found that the problem was the line 'timeout=10'.  If I put 'timeout=-1'
the menu was displayed, but of course it required me to intervene if the
machine was ever going to continue booting.  Any positive value for
timeout resulted in the menu never being displayed.

Looking at the Ubuntu forums I found that quite a few people have come
across this problem.  The secret seems to be to comment out the two
lines in /etc/default/grub which refer to GRUB_HIDDEN_TIMEOUT and
GRUB_HIDDEN_TIMEOUT_QUIET.  (I dare say only one of them needs removing,
but I couldn't be bothered to find out which!)

I did that, ran update-grub, and now the menu is displayed and times out
correctly.

David

-- 
David Sumbler <david at aeolia.co.uk>



More information about the Techtalk mailing list