Dualboot with Windows 7

Polytropon freebsd at edvax.de
Mon Mar 19 07:49:31 UTC 2012

On Mon, 19 Mar 2012 08:29:22 +0100, David Demelier wrote:
> On 19/03/2012 07:28, Polytropon wrote:
> > On Sun, 18 Mar 2012 23:05:58 +0100, David Demelier wrote:
> >> Hello,
> >>
> >> I try to create a dualboot with Windows 7, I set up partitions like that :
> >>
> >> ada0s1 ->  NTFS (windows recovery)
> >> ada0s2 ->  NTFS (windows main partition)
> >> ada0s3 ->  BSD
> >> 	ada0s3a ->  freebsd-swap (3G)
> >> 	ada0s3b ->  freebsd-ufs / (remaining space from drive)
> >
> > Erm... according to traditional partitioning, isn't
> > the 'a' partition reserved for booting, 'b' for swap?
> > I see you have installed everything into one / partition
> > which technically is no problem and should work, but
> > it's not on the boot partition.
> >
> >
> You're right, but I made a mistake while writing, my a partition is / 
> and b is swap.


> >> And then I let the installer complete the step, because FreeBSD didn't
> >> let you (since 9.0) choose between the boot manager nothing was
> >> installed and the boot directly goes to Windows 7.
> >
> > You need to install all the required stages for booting.
> > If I understand the process correctly, the slice 's3' needs
> > code to "branch" to the boot partition (which is supposed
> > to be the 'a' partition), and the boot selector needs to
> > be accessed from the "beginning of the disk" - you said
> > you're using EasyBCD for this which is okay.
> >
> >
> I followed the part 13.3.2 from 
> http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/boot-blocks.html
> I think this should be enough, isn't it? it says bsdlabel -B will 
> replace the boot1 and boot2 stage so all of them are installed.

Looks correct.

> Now the question is how to branch the a partition as the "boot partition" ?

No need. As soon as the "branching" from ada0-"start" -> ada0s3
has been processed, the 'a' partition ada0s3a will be accessed
as it is the boot partition. It will then continue stage 1 and 2
and finally access the loader, which will load the kernel.

In 13.3.2 it is explained as follows:

	They [Stage One, /boot/boot1, and Stage Two, /boot/boot2]
	are located outside file systems, in the first track of
	the boot slice, starting with the first sector. This is
	where boot0, or any other boot manager, expects to find
	a program to run which will continue the boot process.
	The number of sectors used is easily determined from the
	size of /boot/boot.

In your case, the "boot slice" (for FreeBSD) is ada0s3 where the
boot manager EasyBCD will "branch" to.

Getting just a cursor (as you described) makes it hard to
identify where the process hangs. If EasyBCD is the last
thing you see, I assume the FreeBSD boot process isn't even
initiated. Every part of it (MBR boot manager, boot0, boot1,
boot2 and loader) would issue some kind of text when accessed.

Magdeburg, Germany
Happy FreeBSD user since 4.0
Andra moi ennepe, Mousa, ...

More information about the freebsd-questions mailing list