Doug said in news:
[email protected]:
Before I do anything else, I have another question. The D: drive is
formatted as a NTFS. I think maybe the reason there is an error when
trying to boot this one is that the C:\$WIN_NT$.~BT\BOOTSECT.DAT file
isn't in good shape for the NT setup. The file has some binary in
it, but the text states that NTLDR is missing. That probably ? means
my NT setup on D: isn't good and I probably need to set the D: drive
up with NT. How can this be accomplished from the WinXP CD? Before
I changed the mobo out, this was o.k..
Back when you ran FIXMBR, you probably didn't use any parameters. That
means only the bootstrap code in the MBR on the boot drive (the one the
BIOS uses) got written over. However, that's probably okay since that's
the only MBR the BIOS will read, anyway.
http://support.microsoft.com/?id=314058 gives a list of commands and
shows the parameter for FIXMBR (which you can determine using the MAP
command).
The only reference I found to \$Win_NT$\bootsect.dat is regarding
Windows 2000, as in
http://support.microsoft.com/?id=827324. Yet the
boot.ini you listed shows *two* installs of Windows XP. Was one an
upgrade to XP, or is one of them really Win2000?
Microsoft's dual-boot function is weird but somewhat understandable.
Boot managers work by having each OS in a separate partition. The boot
manager then loads the boot sector in that partition which that OS put
in the boot sector. Microsoft's dual-boot looks to behave the same way.
However, if you install DOS, 98, ME, NT, 2000, XP, and the Recovery
Console into the same partition then they cannot all share the same boot
sector of that one partition. The current boot sector of the partition
for the currently installed OS gets copied into a file (bootsect.dos for
DOS, bootsect.dat for the Recovery Console) which gets placed under a
directory appropriate for that bootsect file (\ or root for DOS,
\cmdcons for the Recovery Console, \$WIN_NT$ for Windows 2000, etc.).
That's why you will see lines in boot.ini that will list a directory and
bootsect file to load when selecting an OS that is within the same
partition rather than when it lists the disk and partition to load the
boot sector in a different partition for that OS over there. Read the
following to get an idea of how the bootsect file is a copy of the boot
sector of that partition for the currently installed OS when you go to
install the next OS within the same partition:
How to Triple Boot to Windows NT, Windows 95/98, and MS-DOS
http://support.microsoft.com/?id=157992
So if the bootsect.<os> file gets corrupted, you can't boot that OS
anymore. However, according to the boot.ini listing you provided, a
bootsect file is not required because each instance of an OS is in a
separate partition (and the boot sector of that partition gets used to
load the OS in that partition). You boot using C: and the NTLDR and
boot.ini there (and which displays the menu you see to select an OS).
*IF* you have multiple OS'es within that same partition (for C
then
some on the lines in boot.ini would use bootsect files. However, since
none of them do that means each OS is in a separate partition so
Microsoft's dual-boot manager can load the boot sector of that partition
(rather than use a file copy of it from a bootsect file). The following
KB article gives some more info on booting:
General Information on Starting Multiple Operating Systems
http://support.microsoft.com/?id=101787
Although is says, "The Boot Loader starts the root-based operating
system by executing BOOTSECT.DOS, ...", that's only true if MS-DOS had
been previously installed in the partition where you are installing
NT/2000/XP. If you install, say, Windows XP by creating a new partition
(or deleting an old one and recreating it) then there is no prior OS in
that partition so there will be no bootsect.dos file.
Because the boot.ini file you listed does not use any bootsect file(s),
it must be using the boot sector of the target partition for the
selected OS. If D: is not booting then perhaps its partition's boot
sector is screwed up. FIXMBR won't fix that even if you were to use the
parameter to point at the second hard drive (for D: which is the
partition containing your 2nd copy of Windows XP that uses NTFS).
FIXMBR only replaces the bootstrap code of the MBR (the first 460 bytes
of the first 512 bytes of the drive, or sector 0). The boot code you
need to fix is in the first sector of the *partition* in which the OS is
installed. That is what boot.ini is pointing at to load for the OS over
there.
The reason for all the above is that I had to learn (more) of the boot
process by going through Microsoft's limited KB articles describing it.
I don't know the code in NTLDR nor does Microsoft say how to create
bootsect files (they simply require you install their OS'es in a
particular order so the current boot sector in the partition will get
saved into a bootsect file; see
http://support.microsoft.com/?id=306559). Although this setup might
work, I stay away from installing OS'es within the same partition so I
can stay away from using any bootsect file (but then I don't use
Microsoft's dual-boot manager, either, and prefer a multiboot manager,
like BootMagic although I hear BootIt NG is good). Only the Recovery
Console, when installed on my drive, gets put in the same partition as
Windows XP because I don't get a choice into what partition to install
it (and it might not work if in a different partition than the OS it is
supposed to support).
If D: is really another instance of Windows XP, you might try booting
from the install CD for Windows XP, use its first "Repair" option to get
into Recovery Console mode (it loads it onto a RAM drive), and run "sys
D:". That will replace the partition sector's (for D
boot code. I'm
taking a clue from the article at
http://www.winnetmag.com/Windows/Article/ArticleID/20523/20523.html in
that you run the 'sys' command for the same OS for which you want to
recreate its boot sector.
UPDATE: Looks like Windows XP doesn't include the 'sys' command
anymore. Now you have to use the 'fixboot' command; see
http://support.microsoft.com/?id=315233. So try running "fixboot D:"
from the Recovery Console.