Dual-booting Vista and XP on separate drives


All of my disks are located on the same on-board SATA controller.

I originally installed Windows XP and Windows XP x64 on the first two partitions of my first drive. The MBR lives on this drive and boot.ini lives on the first partition. Windows XP's system drive is C:, while x64's system drive is D. There are a few data partitions on this drive as well. I have a second drive with another data partition.

I wanted to try Vista without messing with my current MBR, so I disabled both drives in BIOS and installed Vista on a brand new drive, out of the box. Vista's system drive is C:. Now I want to dual-boot.

My BIOS does not let me choose which SATA drive on the controller to boot from. So, in order to boot Vista, I connected the Vista drive to the first SATA port on my motherboard. Once Vista was installed, I connected my data drive to the second port, and my XP/x64 drive to the third. My XP drive shows up in Vista as D:

I tried adding an entry to the BCD, accepting the default drive letter "C:", and it failed saying it couldn't find \ntldr
I tried changing the drive letter to D:\ since my XP drive shows up as D: in Vista. This also does not work.
I then tried copying boot.ini from my XP drive to my Vista drive as suggested in a previous topic and changed rdisk(0) to rdisk(2) since the XP disk was moved from the first to the third SATA port. I also tried rdisk(1) and rdisk(3) just in case I got the numbers wrong. In all cases, it fails.

Is the Vista boot loader limited to booting from OS's on the first drive, or am I missing something?


New Member
I too have tried everything Garems007 attempted to do to no avail. Also 2 seperate hard drives with Vista & Windows XP installed

Help would be appreciated.

Thanks .....Terry


Mostly Harmless
Staff member
Hi Garems, Terry,

You need to perform a "Repair Install" of Windows XP, then install EasyBCD on your XP.
From EasyBCD choose to "Reinstall Vista Bootloader" from the "Configure Bootloader" screen.

Delete previous XP entries in EasyBCD, and then re-create them.

Everything should be working now :smile:


Thanks for the reply. I have a few more questions.

What does the XP Repair Install do exactly? My XP MBR and boot configuration has not changed. The drive was disabled from the BIOS when I installed Vista on the new drive. Can I just skip that step?

If I overwrite my XP MBR with the Vista one, will it automatically detect which drive I have Vista installed on?

The reason I put the Vista MBR on another drive was so I wouldn't have to overwrite my XP drive's MBR. Is there any other way, or does the Vista bootloader not support booting an OS from a different drive? I keep hearing about how powerful the Vista BCD is, but it seems pretty limited to me.

If I do go through with your suggestion, will I be able to easily revert to the XP MBR at a later date?

Thanks again!


Mostly Harmless
Staff member
Well Garems, the problem with the Vista Bootloader is that it's very powerful but very limited with the available tools. Vista itself has nothing worth using to manage the bootloader, that's why we made EasyBCD.

You can skip the repair install step in your case.
What you need to do is boot from the vista dvd, click repair startup, install easybcd, and tell easybcd to boot XP from the other drive.

Hope that helps.