Grub/multiboot related issues

I plan to triple-boot Windows 7, Ubuntu, and OpenSUSE on my laptop.

The problem is that Ubuntu uses GRUB2 (and I far prefer it) and OpenSuse uses GRUB1/LegacyGRUB.

I know I can just install one of them, but that means every time the kernel is updated for the one I didn’t install, I have to reboot into the other OS and manually run the update-grub command or manually edit the grub.cfg (forgot what the Grub1 config file was called) so that distro is bootable again, and I would really prefer to let everything automatically update without needing me to confirm or change everything all the time (other than manually starting the update).

I heard that you can chainload, so I left a blank 128meg partition on the beginning of my drive that I plan to use for the “master” bootloader. Problem is, I don’t know how to get Ubuntu and/or OpenSUSE to install their bootloader on the partition, rather than the MBR so I can chainload it.

How would I go about doing this? Getting OpenSUSE to install to the logical partition they it is installed on so I can chianload them from another install of GRUB2 that is on the MBR?

Also, would be it possible to tell OepnSUSE’s partition install of LegacyGRUB to not check for other operating systems? Since the main GRUB2 will already let me choose Windows, Ubuntu, or OpenSUSE, I don’t want a second set of “Windows, Ubuntu, or OpenSUSE?” options to appear when I choose one of the Linux distros, I want it to either just directly boot OpenSUSE or only bring up OpenSUSE options.

Does LegacyGRUB only install the entries for other operating systems on it’s initial install, or does it somehow check every time its updated, similar to running update-grub on a GRUB2 system?

You’ll find all answers in that thread:
Triple-Boot with GRUB

Actually it is really not that complicated but considering Ubuntu’s aggressive kernel updates you are probably better using Ubuntu’s grub 2. Whenever SUSE has a kernel update, all you need do is:

sudo update-grub

I move back an forth between the two different grubs almost weekly. An entry in SUSE’s grub for Ub* will look like this:

###Don't change this comment - YaST2 identifier: Original name: Mint###
title Debian/Ubuntu
    root (hd0,6)
    kernel /vmlinuz root=/dev/sda7 ro quiet splash
    initrd /initrd.img

Of course you need to adjust the hd0 and sda numbers to suit your install

You can chainload both Grubs in both ways. To chainload a partition, you’ll use for example (hd0,0), (hd0,1), etc. To chainload a MBR, you’ll use (hd0), (hd1), etc.

It won’t find Unbuntu anyway and might add the wrong (or more than one) Win7 partition. If you set the timeout option to 0 in /boot/grub/menu.lst, it will boot directly the first entry, hopefully openSUSE.

It does better: it occasionnaly removes foreign kernel entries after a kernel update. (Not sure if it’s a bug or a feature). But it doesn’t touch Windows or other Grubs chainloader entries.