Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 14 Jan 2009 13:13:02 -0500
From:      Jerry McAllister <>
To:        tsai <>
Subject:   Re: Installing FreeBSD with Windows XP
Message-ID:  <>
In-Reply-To: <>
References:  <>

Next in thread | Previous in thread | Raw E-Mail | Index | Archive | Help
On Wed, Jan 14, 2009 at 06:13:45AM -0800, tsai wrote:

> Hi all,
> Is there a tutorial on how to install FreeBSD on a system which already has
> Windows XP on it?  The goal is to have dual-boot with both.

The FreeBSD Handbook - free online at the FreeBSD web site - has a 
whole section on that.   It is easy.   The machine on which I am typing
is dual boot with FreeBSD Win-XP.

Basically, you first have to shrink the XP slice (which is called
a primary partition in the MS world) to make room for FreeBSD.
Probably the best utility for that nowdays is  gpartd  which is
available for free.   Just do a little search and then burn a 
bootable copy of it to a CD.   It works with NTFS as well as other
MS file system types and some other freeware does not.   You can
also use the Parition Magic commercial product, but stick with 
version 7  which works well as long as it is on a hard disk.  
Version 8 of Partition Magic doesn't work well.   Neither of them
work with USB connected drives even though Version 8 claims to do so.
But, gpartd does also work with USB drives.

After shrinking the MS slice, then create a second bootable slice - 
which they call a primary partition.   It may complain a bit about
having two primary partitions, but don't worry about that.

Also, make sure the MS-XP slice is first on the drive.  It gets
confused if it is not the first bootable slice on the drive.
FreeBSD is happy to boot from wherever you tell it.

One small and esotheric exception is that some hardware companies
such as Dell and HP, put a diagnostic slice (primary partition) in
front of MS-Win on the disk.   But they get around it by marking it
as a 'hidden' primary partition so MS MBRs do not 'see' it and just
ignore it.  (But FreeBSD MBRs do see it and usually label it as ???
in the menu, leaving you to ignore it)   

So, leave that hardware maintenance slice where it is, have the MS-XP 
slice next followed by the FreeBSD slice and, if you find it useful, an 
additional small slice that you make in to a FAT32 type.   If the MS-XP 
slice is NTFS, it is handy to have a FA32 type slice around to use to
transfer files between MS and FreeBSD.    Four or five GB should be
plenty depending on your usage.   Alternatively, if you have shrunk
the MS slice down below the max size for Fat32, then you can just 
convert the NTFS system to FAT32.   I don't remember if gpartd will
do that, but Partition Magic (version 7) will do it nicely.  That
introduces some limitations, plus FAT is not thought to be quite as
reliable as NTFS, but I have never had any problem doing that.  If
you have no need to transfer files between the systems, then it is
a moot point and don't bother worrying about this.   

When you get done with all this, everything will look just the same
to the MS-XP machine, except it will have less disk space.  
FreeBSD will see all those slices.   Presuming all those slices I
mentioned, they will be identified as follows.

   /dev/ad0s1  -> Maintenance slice
   /dev/ad0s2  -> XP slice  (either NTFS or FAT32)
   /dev/ad0s3  -> FreeBSD slice
   /dev/ad0s4  -> Extra file transfer FAT32 slice

Or, without the extras, it would be:

   /dev/ad0s1  -> XP slice  (either NTFS or FAT32)
   /dev/ad0s2  -> FreeBSD slice

That is for ATA or SATA drives.   
SCSI or SAS drives would be named /dev/da0...

Once you have this slice creation done, just boot the sysinstall CD
and install FreeBSD to the FreeBSD slice you created.  It should 
see those slices and only write to the one you specify.
Make it write the FreeBSD MBR (the MS MBR won't work) and
select the option for making the slice bootable, just like you
would if installing FreeBSD by itself on the disk.

Everything else is just like a normal install.
Note: Of course, the total size you have to deal with when you do
      the partitioning in to a for /, b for swap, d for whatever, etc
      will be the size of the slice you made for FreeBSD, not the
      size of the disk itself.

Then when you boot, you will see a menu that asks you to select
which bootable slice to boot and you specify it using the 'F' keys
eg F1, F2, F3  and it should look something like this.

 F1 - ???
 F2 - MS-DOS    (or ??? if NTFS)
 F3 - FreeBSD

If you make that extra file transfer FAT32 slice, do not mark that
as bootable and it should not show up in the menu.  But the maintenance
slice will show up as F1 - ??? if you have one.

Have fun,


> Thanks,
> tsai
> -- 
> tsai
> _______________________________________________
> mailing list
> To unsubscribe, send any mail to ""

Want to link to this message? Use this URL: <>