Dual boot with XP

Jerry McAllister jerrymc at clunix.cl.msu.edu
Tue Mar 1 22:57:35 GMT 2005


> 
> I'm going to by a laptop with wondoze XP pre installed soon.
> 
> The machine will have one IDE disk.
> 
> Am I right in thinking that I can install FreeBSD also without having 
> to re-install XP ?

Yup.  The very best way.   
The only funny thing is that the standard FreeBSD MBR will put ?? in
the menu for the XP choice on boots - but it will still work fine.  IF
you think that is too ugly or can't remember that ?? stands for the XP
system, then you can replace it with a third party booter later.

> I"ve searched the mailing list and found info on how to achieve dual boot 
> with multiple disks but how do i go about this, which I guess is a common 
> task ?

No problem.   Just have one of the systems on the first disk and one
on the second.   Actually, you really need to have the MS system on
the first disk or it won't be happy.  But, FreeBSD can go anywhere.
If there are more disks possible then the FreeBSD installer (sysinstall)
will give you a choice early in the install of where to put it.  It
will be a menu item.  

To install both OSen on a single disk, you will probably need to make 
room for FreeBSD.   XP will probably already occupy all of it in one
large slice, with the possible exception of some diagnostic space
some vendors, such as Dell,  like to use.   To make space, you use
a utility that can shrink the space being used by the MS stuff - leave
the diagnostic slice alone.   

Since it is XP, there is a good chance that the file system type is NTFS.  
In that case, the little utility that comes with FreeBSD will not do it 
and you have to get a third party partiton/slice manager.   The last I 
knew, none of the free ones adequately handle NTFS.  I have had good luck 
with Partition Magic from Power Quest.  It is easy to use and pretty much 
protects you from doing something grossly stupid.   Some other people have
other favorites.

NOTE that there is some terminology confusion.  BSD Unix calls the major
divisions of disk 'slices' and subdivisions of the slices 'partitions'.
MS in its endless concern for the wellbeing of the user, calls the
major divisions 'partitions' and doesn't really have subdivisions, but
does have sort of subdivisions that it calles 'extended partitions' - which
are not recognized, for the sake of installation, by FreeBSD.  So, I will
say slice meaning one of the major divisions.

There can be 4 slices numbered 1..4 (yes, I know most OS things in Unix
are numbered 0..n, but not slices) on any disk so far as FreeBSD is 
concerned for the purpose of installing it.   Typically the MS OS (XP) will 
be already installed in slice 1.   If there is a vendor diagnostic slice
it will be either 1, with MS being 2 or it will be in slice 4. 

With Partition Magic or whatever you use, you need to shrink the MS
slice (which they refer to as a partition) without touching the 
diagnostic slice.   In any case, that will mean squeezing the MS
slice down from its top.   Don't try to squeeze it from the bottom.

After you have made an empty space big enough to suit you, then
tell Partition Magic to create a slice (partition) in it.  Make
it a generic FAT or FAT32.  FreeBSD will overwrite it later anyway.
Save all the changes and pop in your FreeBSD install CD and let er rip.
When it asks, tell it to install in that slice you squeezed in to
the disk.  It will want to choose the correct one anyway.

Then, when you do the install, tell it to put in a standard master boot
record when it asks.  That MBR will be smart enough to boot either the XP
or the FreeBSD system.  But it will identify XP as ?? (it will also identify
the diagnostic bootable slice as ??)   If it is really a FAT slice, it
will identify it as MSDOS.   But XP and NTFS are recent and haven't been
added as identifiers.  I think there is not enough room left in the block
for those additional labels.

Also when you are doing the disk labeling in the install - sysinstall does 
it all for you - just asks you how to divide up that FreeBSD slice and what 
to call the mount points - make sure you have it marked as bootable.  I forget 
which letter, but look at the menu at the bottom of the page and pick the one 
that says to make it bootable.   That will make it write the boot block in 
the slice.   

You need both the MBR at the beginning of the disk AND the book block in 
the bootable slice for the boot to work.   The MBR gets controll first
from the BIOS and then passes it off to which ever boot block you
choose from the menu.   A lot of people seem to miss that both are needed
until they get back on the list asking why they can't make it work..

The rest of it is all standard install, just as if FreeBSD was the only
thing on the machine.

The only difference in making it a two disk install - presuming you
want one disk for MS (plus diagnostic slice if any) and one for FreeBSD
is that you don't have to squeeze the MS slice down to make room, and
you choose to install on the second disk and make that second disk
all one big slice which you partition.   Plus, you need to put the 
FreeBSD MBR on both disks.   When it boots, the first MBR will get 
control and ask which disk you want to boot from.  Then, if there is
more than one bootable slice on the disk you select, it will put up a 
menu to choose which slice and then it will pass control to the boot block 
on that slice.   Slick, really.   Probably the only fairly standardized
thing that works for everybody including MS, BSD and Linux, etc.

> 
> Is there a tutorial out there in cyberspace somewhere ????

There are several that are pretty good and the handbook is pretty
clear too.   There are things in the archive as well.   I have posted
essentially the same thing before as have others.

////jerry

> Thanks
> David 
> _______________________________________________
> freebsd-questions at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-questions
> To unsubscribe, send any mail to "freebsd-questions-unsubscribe at freebsd.org"
> 



More information about the freebsd-questions mailing list