Can GRUB boot GRUB?

Andy Goss aegoss at vicnet.net.au
Tue Feb 21 03:48:31 UTC 2006


Mine works like this:
"
#boot=/dev/hda
default=0
timeout=5
splashimage=(hd1,0)/grub/splash.xpm.gz
hiddenmenu
title Fedora Core (2.6.15-1.1831_FC4)
	root (hd1,0)
	kernel /vmlinuz-2.6.15-1.1831_FC4 ro root=/dev/VolGroup00/LogVol00 rhgb
quiet
	initrd /initrd-2.6.15-1.1831_FC4.img

title Win 98SE
	rootnoverify (hd0,0)
	chainloader +1
title Ubuntu @ hda2
	root (hd0,1)
	chainloader +1
"

I began with Win 98SE, so it is the first thing on the original drive
(hda) making it partition hda1 in Linux, but hd0,0 in GRUB speak.

I then added a new drive (hdc) and installed FC4 on it, which put a GRUB
on the original drive's MBR, and set up the chainloader to start 98SE.
GRUB sees the new drive as the second drive, and it looks for FC4
directly on hd1,0.

I then re-partitioned my original drive to allow experimental installs,
shrank 98SE, and put Ubuntu on the second partition, telling the Ubuntu
installer to put it on the same partition as Ubuntu. I then edited my
FC4 GRUB to add a chainloader entry pointing to the Ubuntu GRUB in
hd0,1, i.e the second partition on the first drive.

Note that numbering from 0 instead of 1 is, or used to be, quite common
in the computer world. GRUB starts at 0, Linux at 1. 

For a really good explanation of GRUB and booting, go to 
http://www.justlinux.com and do an advanced search for threads started
by user Saikee in the "How I Did It!" forum. This guy is brilliant,
everything the GRUB manual makes obscure he clarifies.

There is an advantage to doing things this way that I have not seen
mentioned, and have not actually tested yet. When I update my Ubuntu
with a new kernel, it should know where its GRUB is, and will therefore
update the GRUB menu.lst on hda2. If I had opted not to create a GRUB
for Ubuntu, and had instead manually added the kernel and initrd info to
the FC4 GRUB, Ubuntu would not update it, and I would have to do it
myself. 

> Date: Mon, 20 Feb 2006 20:06:13 -0500
> From: jludwig <wralphie at comcast.net>
> Subject: Re: Can GRUB boot GRUB?
> To: For users of Fedora Core releases <fedora-list at redhat.com>
> Message-ID: <200602202006.13970.wralphie at comcast.net>
> Content-Type: text/plain;  charset="iso-8859-1"
> 
> On Monday 20 February 2006 14:37, Billy Tallis wrote:
> > On 2/20/06, Iain Stephen <i.stephen at tiscali.co.uk> wrote:
> > > On Mon, 2006-02-20 at 12:18 -0600, Justin Willmert wrote:
> > > > You should be able to just chain load the Debian installation much like
> > > > you would the Windows installation. Just give Debian the hda0 path
> > > > rather than sdaX.
> > > > Take my comments as a grain of salt though. I am by NO means an
> > > > advanced user in GRUB. I'm just telling you that I don't see much of a
> > > > difference between the chain loading situations.
> > >
> > > That's what I thought too, but I can't get it to work. If I remember
> > > correctly Debian starts booting but tries to use the FC4 filesystem on
> > > sda and I get a kernel panic, or various GRUB errors depending on what
> > > I've tried in menu.lst.
> >
> > If you truly have grub installed in the MBR of both drives and
> > pointing to different stage2 files, (ie if you installed one while the
> > other was not plugged in) than you can chainload one grub from the
> > other. If the bios loads grub on (hd0) then you would say "chainloader
> > (hd1)+1" and boot into the other grub. From there, you just need to
> > make sure that the kernel command line points to the right rootfs.
> >
> > The chainloader is what you use for anything that would otherwise boot
> > itself, including DOS, Windows, and other bootloaders.
> At this point I have also had problems with labeling of partitions.
> Are the unique or unlabeled?
> -- 
> Some people have convictions.
> Some people have opinions
> I think I'll have a cheeseburger!





More information about the fedora-list mailing list