Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 9 Jun 2000 19:28:27 +0100
From:      Mark Ovens <mark@ukug.uk.freebsd.org>
To:        "Jasper O'Malley" <jooji@nickelkid.com>
Cc:        freebsd-questions@freebsd.org
Subject:   Re: REVISED: Active partition problems with FreeBSD 4.0/NT dual-boot
Message-ID:  <20000609192827.D233@parish>
In-Reply-To: <Pine.BSF.4.21.0006091348340.33325-100000@cornflake.nickelkid.com>; from jooji@nickelkid.com on Fri, Jun 09, 2000 at 02:05:26PM -0400
References:  <Pine.BSF.4.21.0006091348340.33325-100000@cornflake.nickelkid.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, Jun 09, 2000 at 02:05:26PM -0400, Jasper O'Malley wrote:
> 
> REVISION NOTE:
> 
> I left a portion of my story out initially, because I figured it was
> irrelevant. It probably wasn't :) Here's the revised account of what
> blew up:
> 
[snip]

> I rebooted with the Win98 floppy again, and ran FDISK. It showed that the
> da0s1 partition had vanished entirely. While I initially assumed that
> MBRWORKS utility had somehow wiped out my partition table, I'm not so sure
> anymore. It may have been (based on Mark Ovens' reply to my earlier post)
> that boot0 had written itself into the MBR of da0, and had overwritten the 
> partition table on da0 with a blank table in the process.
> 
> I reinstalled Windows NT from scratch, and this set the da0s1 partition
> active again.
> 
> When I rebooted during the NT install process, I was presented with the
> following loader menu:
> 
> F1  ??
> F5  Drive 1
> 
> I thought this was weird, since I never explicitly installed the FreeBSD
> loader onto da0.  Pressing F1 brought me to the NTLDR screen, as I expected,
> and I was able to boot into NT again (to finish the install process). When
> I rebooted, I got the same loader menu again, and this time I hit F5, then
> F1 to boot into FreeBSD. Upon a reboot, bam, back to:
> 
> Not found any [active partition] in HDD
> 

It did it again because you still have boot0 in C:\BOOTSECT.BSD. As I
explained, boot0, as found in /boot, has an *empty* PT as per the
dd(1) output I included. Get rid of C:\BOOTSECT.BSD.

If you want to use NTLDR to boot FreeBSD you *will* need boot0, but
you *must* let sysinstall install it and you *must* install it on
*both* disks.

The only other way that I can see, without re-installing FreeBSD, is
to get your system running and then boot FreeBSD from the Fixit floppy
and dd(1) *only* the first 466 bytes of boot0 to your MBR (the PT is
the last 66 bytes - 64 bytes + the 2-byte signature) thus:

    # dd if=/boot/boot0 of=/dev/rda0 count=446

The way the FreeBSD boot manager works is by replacing the MBR, which
is where the menu is, and when you select the OS it updates the active
flag in the PT and executes the normal jump to the partition boot
sector (which means the NT loader if you select NT). You don't select
FreeBSD from the NT menu and then FreeBSD from the FreeBSD menu.

If you had both OSes on the first drive, or at least FreeBSD's ``/''
on the first drive, then you would copy boot1 to C:\BOOTSECT.BSD and
select FreeBSD from the NT menu - you would never see a FreeBSD boot
menu. This is how my system is setup.

HTH

> I booted from a Win98 startup floppy, used Win98 fdisk to set the NTFS
> partition (da0s1) partition active again, and I got the following boot
> menu again:
> 
> F1  ??
> F5  Drive 1
> 
> This allowed me to boot back into NT (without a reinstall, this time ;),
> but every time I boot into FreeBSD, I need to use fdisk to set da0s1
> active again.
> 
> After doing some reading, I'm guessing the problem is that I've a
> brain-dead Award BIOS variant on my GA-686LX4 motherboard that assumes
> you're using an M$ OS and checks for active partitions on the lowest
> numbered BIOS disk present (da0, in this case) before it hands control
> over to any MBR bootloader. If there aren't any active partitions, the
> BIOS craps out with the above error.
> 
> Now, for the questions:
> 
> 1) How did the FreeBSD loader find its way onto the MBR of da0? It
>    obviously wasn't there before I selected "FreeBSD 4.0" from the
>    NTLDR menu the first time, but it seems that it's been there ever
>    since. Is this by design? And, now, did it overwrite the partition
>    table on da0 in the process?
> 
> 2) Is there any way to keep whatever is clearing the "active" flag on
>    the first partition of da0 from doing so? I tried upgrading the BIOS
>    for the motherboard to the latest version, but the active partition
>    checking "feature" is still present.
> 
> Thanks,
> Mick
> 

-- 
        ...and on the eighth day God created UNIX
________________________________________________________________
      FreeBSD - The Power To Serve http://www.freebsd.org
      My Webpage http://ukug.uk.freebsd.org/~mark/
mailto:mark@ukug.uk.freebsd.org             http://www.radan.com



To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-questions" in the body of the message




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