Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 28 Dec 2004 16:05:23 -0800 (PST)
From:      Luke <luked@pobox.com>
To:        Tom Connolly <tomc@cqg.com>
Cc:        FreeBSD_Questions <freebsd-questions@freebsd.org>
Subject:   Re: Dual boot WinXP and FreeBSD 5.3
Message-ID:  <Pine.NEB.4.61.0412281539190.29296@xm.freeshell.org>
In-Reply-To: <033f01c4ec6e$014ba970$9a11a8c0@d3stomc>
References:  <033f01c4ec6e$014ba970$9a11a8c0@d3stomc>

next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, 27 Dec 2004, Tom Connolly wrote:
> Hello list.  I wish to put FreeBSD 5.3 on a new hard drive and have it
> dual boot with the existing Windows XP system (separate HD).  Can I just
> simply go through the FreeBSD install and have it install the FreeBSD
> boot manager/loader on the XP drive?  I can't risk doing any damage to
> the XP system as it has a thermal analyzer program on it that won't run
> on FreeBSD (otherwise I would have no use for XP at all).  I would like
> to know if there are any "gotchas" or anything that could be a problem.
> I would really like to hear comments from anyone who has set up such a
> system.

I tried this a few months ago using only the FreeBSD boot manager, and 
couldn't get anywhere with it.

The solution I ultimately ended up using was GRUB. 
/usr/ports/sysutils/grub

It's very complicated, or at least I thought so, but it's very flexible 
too.

On my system, I've got:
Primary Master IDE = Windows XP drive
Primary Slave IDE = none
Secondary Master IDE = CD drive
Secondary Slave IDE = FreeBSD
And some raid drives that don't really enter into this...

WinXP is on the primary master drive because WinXP just isn't happy being 
mounted anywhere else... You come up with drives like E instead of C and 
all kinds of other nonstandard stuff, so it's simpler just to play along 
with Microsoft and make it your primary master drive.
The arrangement of the other drives just happened to be what was most 
convenient for the cabling.

This is the configuration file I created to get this to work with GRUB
-----
default 0
timeout 6

title   FreeBSD
color   red/black       light-red/black
root    (hd0,0,a)
kernel  /boot/loader

title   WinXP
color   blue/black      light-blue/black
map     (hd0)   (hd2)
map     (hd2)   (hd0)
root    (hd2,0)
makeactive
chainloader +1
------

The "default 0" and "timeout 6" means it boots FreeBSD by default after 6 
seconds.
The next two blocks describe the two menu choices I get.
The menu "color" settings, as it turns out, don't work.  I'm not sure why. 
I haven't cared enough to investigate further.
The "root" and "map" directives tell GRUB where to find the partition I 
want to boot.  GRUB has its own mysterious way of counting the drives.  It 
counts my drives backwards from what I think it should, so that's why I 
have to do all the mapping and why FreeBSD boots off hd0 instead of hd2 or 
hd3.
The "kernel" directive in the FreeBSD section and the 
"makeactive","chainloader +1" directives in the WinXP section tell the 
machine where to continue the booting process.
All of this is described in the documentation.

Since the machine boots from the WinXP disk by default since it's the 
primary master and has a bootable partition on it, I had to install 
GRUB onto that disk.  GRUB made a bootable floppy that took care of that 
for me.  I still keep that floppy around just in case I ever need to 
reinstall Windows.

Hopefully you'll find a much simpler solution than I did.  I just wanted 
to say that I'm really impressed with GRUB, and that with enough 
persistence and study, I think it could make just about any dual-boot 
configuration work.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.NEB.4.61.0412281539190.29296>