Dual boot WinXP and FreeBSD 5.3
Luke
luked at pobox.com
Tue Dec 28 16:06:07 PST 2004
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.
More information about the freebsd-questions
mailing list