emergency: can't boot! please help

Malcolm Kay malcolm.kay at internode.on.net
Sun Aug 24 02:55:30 PDT 2003


On Sun, 24 Aug 2003 16:38, OZ wrote:
> --- Malcolm Kay <malcolm.kay at internode.on.net> wrote:
> > On Sat, 23 Aug 2003 20:09, OZ wrote:
> > > Hi, I've got a massive problem and I need urgent
> >
> > help,
> >
> > > please.
> > >
> > > Trying to set up a dual boot, and I've rendered my
> > > primary master (which has windows xp) un-bootable.
> > >
> > > On this page:
>
> http://www.freebsd.org/doc/en_US.ISO8859-1/books/faq/disks.html#NT-BOOTLOAD
>
> > >ER
> >
> > For the "same disk" situation this seems fairly
> > clear;
> > but for the different disk situuation I find it
> > quite confusing.
> >
> > Nor do I suggest that I know how it should be
> > done!!!!!!!
> >
> > > in section 9.10... it says:
> > >
> > > ---------------------------------
> > > "If FreeBSD is installed on the same disk as the
> >
> > NT
> >
> > > boot partition simply copy /boot/boot1 to
> > > C:\BOOTSECT.BSD However, if FreeBSD is installed
> >
> > on a
> >
> > > different disk /boot/boot1 will not work,
> >
> > /boot/boot0
> >
> > > is needed.
> > >
> > >   "Warning: DO NOT SIMPLY COPY /boot/boot0 INSTEAD
> > >   OF /boot/boot1, YOU WILL OVERWRITE YOUR
> >
> > PARTITION
> >
> > >   TABLE AND RENDER YOUR COMPUTER UN-BOOTABLE!
> > >
> > > "/boot/boot0 needs to be installed using
> >
> > sysinstall by
> >
> > > selecting the FreeBSD boot manager on the screen
> >
> > which
> >
> > > asks if you wish to use a boot manager. This is
> > > because /boot/boot0 has the partition table area
> > > filled with NULL characters but sysinstall copies
> >
> > the
> >
> > > partition table before copying /boot/boot0 to the
> >
> > MBR.
> >
> > > "When the FreeBSD boot manager runs it records the
> > > last OS booted by setting the active flag on the
> > > partition table entry for that OS and then writes
> >
> > the
> >
> > > whole 512-bytes of itself back to the MBR so if
> >
> > you
> >
> > > just copy /boot/boot0 to C:\BOOTSECT.BSD then it
> > > writes an empty partition table, with the active
> >
> > flag
> >
> > > set on one entry, to the MBR."
> > > ---------------------------------
> > >
> > > Well, I read that to mean that if I installed
> > > /boot/boot0 with sysinstall, THEN i should copy
> > > /boot/boot0 to C:\bootsect.bsd.
> > >
> > > I did this by following instructions I found
> > > elsewhere.  In FreeBSD, I tried this:
> > >
> > > dd if=/dev/ad1 of=c:\bootbaby.sec bs=512 count=1
> >
> > I see two problems here.
> >
> > Firstly 9.10 (ahead of where you quoted) says
> > "copy the first sector of your native root FreeBSD
> > partition"
> >
> > This is probably /dev/ad1s1 or /dev/ad1c not the
> > first sector
> > on the disk.
>
> Are you saying that I didn't actually copy what I
> thought I did WHERE I thought I did?  I don't
> understand what you mean.
>
I don't know what you think you copied but your command reads the MBR
on the slave drive which is not the same as the "native root FreeBSD
partition". But whether this is what is actually required I findn somewhat 
confusing.

As far as the destination is concerned then "c:" is not special in BSD so it
does not select a disk, and the backslash '\' is simply an escape character,
it says don't impliment any special meaning of the next character so
c:\bootbaby.sec is seen as a simple file name 'c:bootbaby.sec' in the FreeBSD
system.

If you had somehow mounted the ntfs on directory /c:
then you might be able to write the file to /c:/bootbaby.sec to get it where 
you want. But I doubt whetherb you have a mounted ntfs system,
and in any case I believe the FreeBSD ntfs support is somewhat flakey and 
writing to it is dangerous or not allowed.

> > Next c:\bootbaby.sec brobably ends up as a file in
> > the FreeBSD filesystem
> > c:bootbaby.sec (with the \ disappeared) in whatever
> > directory you were in when
> > you ran the command.
>
> Hmmm.  I understand what you're suggesting, but
> somewhere on the Net, it had suggested that the
> if=/of= thing (part of the dd command) would copy to
> the c: drive with the line that way.  I honestly just
> don't know enough about how the commands work.  I'm
> very new to FreeBSD.  Is there any way to check?  I
> don't even know how to navigate around FreeBSD -- I've
> only had it a week.
>
> > It is probably easiest to copy this to a DOS format
> > floppy and then again to
> > C:\bootbaby.sec when back in XP. How you actually
> > get this image into
> > windows is not explained in the information.
>
> Do you know how to do this?

Take a ms formatted floppy, put it in the drive and as root:
# mount_msdos /dev/fd0 /mnt
 now you can write it with:
# dd if=/dev/ad1c of=/mnt/bootbaby.sec bs=512 count=1
yoou should then unmount with
# umount /mnt

>
> > > (I figured that by calling it "bootbaby.sec", I'd
> > > rename it later to bootsect.bsd, which is what the
> >
> > NT
> >
> > > loader dual boot item was set at from a previous
> > > failed attempt.)
> > >
> > > I may also have copied /boot/boot0 to
> >
> > c:\bootsect.bsd
> >
> > > from off the CD.  I don't remember at this point
> >
> > --
> >
> > > I've been panicking for about 3 hours now.
> > >
> > > Anyway... the point is this:
> > >
> > > My NT loader got screwed up, and now I can't even
> >
> > get
> >
> > > into that disk (Windows XP is on the Primary
> >
> > Master,
> >
> > > ad0, and FreeBSD is on the Primary Slave, ad1).
> >
> > Can you still get into FreeBSD and how?
> > What happens an boot up? What appears on screen?
>
> I've always been able to get into FreeBSD.  I use the
> GAG boot loader (gag.sourceforge.net) off a floppy.
> So the floppy goes in, I start the machine, it pulls
> up GAG, I select FreeBSD, it sends me to that primary
> slave drive (ad1) which has FreeBSD.  At this point, I
> get the FreeBSD loader with the picture of the devil
> guy, and then just load into FreeBSD.
>
> However, in GAG, I used to be able to select Windows,
> but it's now nowhere to be found.  There's no option
> to use it.  If I take the floppy out and DON'T use
> GAG, it used to take me to the NT loader, where you
> select Windows XP and it loads by default.  But now it
> takes me to a screen that says:
>
> F5       1
> Default  F5

This certainly looks as though the MBR partition table on ad0
is messed up.

Under FreeBSF you can look at this with 
#fdisk ad0

>
> (or something similar to that, I'm working off memory
> now).  If I press F5 I get beeps.  If I press 1 I get
> beeps.  If I press ANYTHING, I get beeps.  And that's
> it.  I have to Alt-Ctrl-Del or power off to reboot.
>
> So if I don't use the GAG loader, it ALWAYS goes to
> the F5 menu, which doesn't do anything.
>
> > It sounds as though you may have destroyed the MBR
> > on the master disk
> > when you went back to sysinstall.
>
> I'm pretty sure I've destroyed the XP MBR, or whatever
> else allows XP to recognize the disk, because it
> doesn't even see it -- even after trying XP Recovery
> tools like Fixboot or Fixmbr or Bootcfg.
>
> Someone suggested installing Linux and configuring to
> mount the NTFS drive, so that Linux could then "see"
> the contents of the disk, perhaps allowing me to
> salvage data and/or repair the disk.  That's what I'm
> about to start doing.  I don't know if it'll work, but
> I don't know what else to do.
>

Youn probbbably need to rewrite the MBR using fdisk on FreeBSD or Linux
to make the entire disk one ntfs slice. With some luck this might duplicate 
the original partition table and give you XP suddenly reappearing.

> If you have other ideas, I would love to hear them.
>
> > > I've tried creating a boot disk:
>
> http://support.microsoft.com/default.aspx?scid=kb;en-us;305595
>
> > > and even added some options, as suggested here:
>
> http://tweakhomepc.virtualave.net/dual/rescuebootdisk.html
>
> > > (and I used his exact boot.ini -- don't know what
> >
> > the
> >
> > > original boot.ini was, but his seems about
> >
> > right)...
> >
> > > but nothing's working.
> > >
> > > The error I get from that one is:
> > >
> > > "Windows could not start because of a computer
> >
> > disk
> >
> > > hardware configuration problem.
> > > Could not read from the selected boot disk.  Check
> > > boot path and disk hardware.
> > > Please check the Windows documentation about
> >
> > hardware
> >
> > > disk configuration and your hardware reference
> >
> > manuals
> >
> > > for additional information."
> > >
> > > Now, this might not seem like a FreeBSD issue,
> >
> > since
> >
> > > it's the Windows XP disk I can't get into, but it
> >
> > was
> >
> > > the FreeBSD boot loader that got me into this
> >
> > mess.
> >
> > > The FreeBSD warning was:
> > >
> > >   "Warning: DO NOT SIMPLY COPY /boot/boot0 INSTEAD
> > >   OF /boot/boot1, YOU WILL OVERWRITE YOUR
> >
> > PARTITION
> >
> > >   TABLE AND RENDER YOUR COMPUTER UN-BOOTABLE!
> > >
> > > and although I was very careful about this and I
> >
> > was
> >
> > > sure I WASN'T doing what they were warning me
> > > against...  I think that's what has happened.
> >
> > I don't believe you managed to make the image
> > available to the loader
> > so this is unlikely to be the problem.
>
> Interesting... you may be right.  But then what could
> be causing this?  Surely something has corrupted a
> very basic area of the XP drive.
>
> > > How do I fix this?  I've even tried attaching the
> > > drive to another computer (Win XP) as a Slave, to
> >
> > see
> >
> > > if I could "SEE" the contents of the drive, but I
> > > can't.
> > >
> > > Please don't tell me this disk is gone.  There's
> >
> > got
> >
> > > to be a way to re-create the original partition
> >
> > table
> >
> > > or re-write a new one that will see the disk's
> > > contents, etc.???
> >
> > If you know what you did in installing XP then it
> > might be possible for
> > someone who knows more about how XP sets up disks to
> > make a
> > reasonable guess. That person is not me.
>
> XP was installed before I ever added the FreeBSD disk
> and operating system.  XP was first, FBSD was second.
> I agree that finding out how XP sets up disks would be
> very valuable right about now.
>
> Thanks for your help.  Any more ideas are always
> welcome.  Cheers.
>
Malcolm Kay


More information about the freebsd-questions mailing list