Hi, Ross.
Thanks for the progress report. Congratulations! And...hang in there. ;^}
Only thing left to fix up is just put the missing boot/startup files into
the appropriate directory.
Couple of points here. First, the "boot sector" is not a file. At the very
early stage when it comes into play, the computer doesn't yet know what a
file is. All it knows is the BIOS instruction to look at the first physical
sector on the first physical hard disk drive. Here it finds the MBR (Master
Boot Record) with only about 400 bytes of code plus 64 bytes of partition
table, consisting of four 16-byte entries. One of those entries (usually
the first one) will be coded Active, which means it is the bootable
partition. The primitive instructions at that point say to find the first
physical sector of that partition and load it into memory, then jump to the
beginning of that code and start executing those instructions. As the
computer system continues to "pull itself up by its own bootstraps", it
learns to deal with multiple HDDs, partitions, files, folders,
extensions...and all the other components of a working computer. This all
happens within a few seconds, and then it gets to the instruction to find
and load the operating system. At this point, the computer first hears
about Windows.
You may have noticed that WinXP's Boot.ini file does not use drive letters
at all. Its entries point to the \Windows folder in a numbered volume
(partition(#)) on a numbered HDD (rdisk(#)). The boot sector code on a
WinXP system ends with a final instruction to find a file named NTLDR - with
no extension - which must be in the Root of the System Partition because the
computer doesn't know how to look anywhere else at that point. NTLDR knows
how to look in that same Root directory and find NTDETECT.COM and Boot.ini,
which point the way to the beginning breadcrumb (ntoskrnl.exe) to start
loading Windows. By the time that process is finished, we see the desktop
and Windows is running, waiting for our further instructions.
So it's not enough to have the right files in the right directory. The BIOS
settings must point to that first physical HDD, so that it can find the
correct MBR and boot sector to begin the process of loading the OS. Until
it gets to that point, it has no idea that Windows even exists. So you have
to be sure that the BIOS points to the right HDD, and that THAT drive has
the proper MBR and boot sector, and that NTLDR, NTDETECT.COM and Boot.ini
are all in the Root of the bootable partition on THAT HDD. It's OK for
these three startup files to be Hidden and have the System attribute; in
fact, those are the default settings.
Vista's startup system is different - and more complex. Only the hidden
file bootmgr (no extension) needs to be in the Root of the System Partition,
along with a hidden (by default) FOLDER named \Boot, which contains the
several components of the BCD (Boot Configuration Data). The BCD replaces
WinXP's 3 startup files with instructions which the system uses to find
Vista and load it. But in a dual-boot system, those 3 WinXP files, plus a
file (bootsect.dos) holding a copy of the WinXP boot sector, are added to
Vista's System Partition. When we choose the "earlier OS" from the OS menu,
Vista's BCD loads that bootsect and turns over control so that it can
present Boot.ini's menu.
Remember that I'm an accountant, not a techie. Some of this may not be
exactly the way an expert would explain it, but I think it's close enough
for most of us.
RC
--
R. C. White, CPA
San Marcos, TX
(e-mail address removed)
Microsoft Windows MVP
Windows Live Mail 2009 (14.0.8064.0206) in Win7 Ultimate x64 7000