Let's say you want the menu.lst on sda5 (Kubuntu) to be your unified menu.lst
(1) Boot into Kubuntu. Edit sda5's menu.lst:
Code:
gksu gedit /boot/grub/menu.lst
Add this to your boot stanzas (about 2/3 of the way down the file)
Code:
title openSUSE
root (hd0,5)
chainloader +1
boot
(2) Boot into openSUSE. Edit sda6's menu.lst
Code:
gksu gedit /boot/grub/menu.lst
Make sure you have these settings near the top:
Code:
default 0
timeout 1
hiddenmenu
"default 0" makes your first boot stanza the default
"timeout 1" makes GRUB wait 1 second before booting the default boot stanza. During that 1 second you can press ESC to get to the GRUB menu -- a useful feature when things go wrong. I suppose you could change it to 0 if everything is working properly however.
"hiddenmenu" will achieve the "no submenu" effect.
(3) Reinstall GRUB on the MBR so that it will load sda5's menu.lst:
Boot from a LiveCD
Code:
sudo grub
grub> root (hd0,4)
grub> setup (hd0) # Writes to the MBR
With the above two commands, your boot sequence will read sda5's menu.lst.
Code:
grub> root (hd0,5)
grub> setup (hd0,5) # Writes GRUB to the sda6 partition
grub> quit
"setup (hd0,5)" allows the chainloader command to work. When you select openSUSE from sda5's menu.lst, it will hand off to the GRUB you installed on (hd0,5).
(hd0,4) is GRUB-talk for /dev/sda5
(hd0,5) is GRUB-talk for /dev/sda6
(hd0) is GRUB-talk for the sda hard drive
Reboot.
Bookmarks