2 Drives, and one Bootloader to rule them all

#1
Background:

Before installing Vista: my PC had an SATA with windows XP installed on the second partition (first partition was dedicated for swap file), and an IDE drive for storage.

During install: I bought a new SATA hard drive specifically for installing Vista. When I tried to set it up with the other drives present in the system, the setup failed. So I removed the other drives and installed Vista on the new drive in isolation.

After install: I've attached the old drives (Vista HD on SATA1, XP HD on SATA2), and each OS boots up just fine when I select its drive to be primary in the Bios.

However, I'd like to set it up so I can boot XP straight from Vista's boot manager, with the Vista HD set as primary. So far, all the guides I have read haven't helped.

I've copied boot.ini, ntdetect.com, and ntldr to the root folder of the Vista HD and created an entry for XP in EasyBCD, setting the drive letter to be the same as primary drive (C:\, where Vista is installed).

But each time I try to select Windows XP from the boot manager, I get the following error message:
-------
Windows could not start because of a computer disk hardware configuration problem.
Could not read from the elected boot disk. Check boot path and disk hardware.
--------

The boot.ini (as found on XP's drive, E:\) is
--------
[boot loader]
timeout=20
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /fastdetect /NoExecute=OptIn /usepmtimer



---------

and the copy with some edits as found on Vista's drive (C:\)
----------
[boot loader]
timeout=20
default=multi(0)disk(1)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(1)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /fastdetect /NoExecute=OptIn /usepmtimer
--------------

EasyBCD's settings page reads
-----------------
There are a total of 2 entires listed in the Vista Bootloader.
Bootloader TimeOut: 5 seconds
Default Os: Microsoft Windows Vista

Entry #1

Name: Microsfot Windows Vista
BCD ID: {current}
Drive: C:\
Bootloader Path: \Windows\system32\winload.exe
Windows Directory: \Windows

Entry #2

Name: Microsoft windows XP Professional
BCD ID: {0f422684-df57-11db-8bd8-0013d4f4f793}
Drive: C:\
Bootloader Path: \ntldr
Windows Directory:
-------------------------------

Please help me if you can. :sick:, I've almost given up my entire weekend for this.
 

mqudsi

Mostly Harmless
Staff member
#2
hey Bam, welcome to NeoSmart Technologies.

The problem in your case is that Windows XP doesn't recognize the SATA drive, and therefore, can't boot from it.

Stick your Windows XP CD back in the drive, repair install of XP.
In Windows XP install EasyBCD-> Bootloader Management -> Reinstall Vista Bootloader.
Reboot.
Now you'll be able to boot into XP or Vista! :smile:
 
#3
I'm not sure I understand the problem. If XP doesn't recognize the SATA drive that's it's installed to (?) how could it boot at all?
 

mqudsi

Mostly Harmless
Staff member
#4
No, it doesn't recognize the drive that the boot files are stored on.
During setup you'll be asked to provide all the necessary drivers.