grubby details of grub2
ubuntu at tigershaunt.com
Sun Oct 3 21:56:56 UTC 2010
On 10-10-03 05:12 PM, Kevin O'Gorman wrote:
> I'm running Lucid on my laptop, and have been transported into the
> grub2 reality.Â At least I think so because
> of the huge changes in /boot/grub/.Â I no longer understand much of it.
> Somewhat to my amazement I got it working.Â I even dual boot to
> Vista.Â Problem is that I want to change
> where that Vista entry appears in the menu, and I have NO clue.Â I
> heard that menu.lst no longer exists,
> and that configuration now goes in grub.cfg.Â Then I notice the
> warning not to touch that file because it's
> automatically generated.Â I find myself unable to sort out the layers
> of the new setup.
> Since all I ordinarily use is the first Linux entry and the Vista
> entry, I'd like to move Vista up to the top or second
> spot.Â That's it.Â I figure it might take me a day to figure this
> out, but free days are hard to come by and I'm
> hoping somebody can give me a short recipe.
There are, unfortunately, no short recipes.
But I will start off by letting you know this. There is no need to fear
the warning about not editing grub.cfg. Nothing particularly bad will
happen to you if you do. The only thing you need to be aware of is that
the file is auto-generated, and will be regenerated whenever the package
manager feels like (ex: when a kernel is updated, or even when you want
to make a change to grub and run grub-update.). So that makes it a bad
place to make changes that your system needs to boot reliably (ie,
custom kernel parameters, for example.). If, however, the prospect of
the menu returning to it's default state with little or no warning
doesn't frighten you, then by all means, hack grub.cfg to your liking.
As you probably already know, the grub.cfg file is generated by the
scripts in the /etc/grub.d directory.
Those scripts are executed in alphabetical order (hence why they are
numbered,) so one easy change you can make is:
mv 30_os-prober 15_os-prober
os-prober is the script that finds and adds Windows to the grub menu, so
by making it run before memtest, then memtest, at least will be below
windows in the grub menu.
You might also want to suppress the linux rescue mode entries. You can
specify that in the /etc/default/grub file. Remove the # to uncomment
After that, use your favorite package manager to remove any older kernel
images you have.
If these steps do not make the menu look the way you like, then the next
step is to craft your own menu entries. That's what the
/etc/grub.d/40_custom file is for. Copy the sections you want from
grub.cfg file, and paste them into 40_custom. Then, you give those
custom entries top billing with:
mv 40_custom 09_custom (which will make it run before the automatically
There is one important caveat to that last method which makes it the
least advised. You will have to manually make any updates to the custom
entries. If you boot from one of those entries, you will not
automatically benefit from kernel updates that come as part of your
regular system update process.
More information about the ubuntu-users