I recently learned about Grubs configfile option. At first it doesn’t seem very interesting but it solves an interesting problem. Suppose you have multiple installations of Linux on your system all on different partitions. Ideally they would all work together seamlessly and update one grub menu.lst file. But if you have them on different partitions that won’t happen. There are a lot of reasons why something like that is difficult. Enter configfile to save the day.
To solve this problem you could make one partition exclusively for grub. You would install grub to the master boot record and install the stage 1.5 files to this tiny grub partition. In that tiny partition you would have a menu.lst file that would call out all of your other installs. It’s similar to using chainloading but it’s not quite the same. You’d only have to edit this master menu.lst whenever you added a new OS. Here’s a contrived example:
title Debian Lenny configfile (hd0,1)/boot/grub/menu.lst title Ubuntu configfile (hd0,2)/boot/grub/menu.lst
You could do something similar using a chainloading approach and installing grub as the local boot record in each of your OSes but this way you have just one installation of grub to deal with.