Dualboot Vista/XP on separate drives


I have two drives, Vista on the primary, XP on the secondary. The secondary has two partitions so I basically have Drive C, D and E. On the first drive the partition is primary and active; it contains the Vista installation. On the second drive both partitions are primary; the first is active and contains the XP installation.

I have NTLDR, NTDETECT.COM and boot.ini on C: I used EasyBCD to configure a second selection (XP) for Multi Booting.

Vista boots fine but when I select XP I get the dreaded "hal.dll missing" error

boot.ini references to the XP installation are like this

multi(0)disk(0)rdisk(1)partition(1)/windows="Windows XP" for both the default OS and the single selection line

Am I missing something? Any suggestions? Will booting from the second drive work?

I've configured this same setup on another PC EXCEPT there are two partitions on ONE drive (C and D no second phys disk) and it works fine.


Hi Boo, welcome to NST.
From your post of the boot.ini, I infer that you've been reading the wiki and have identified why you're getting the HAL error.
If your XP entry in the BCD correctly points to C: , not to D: (where the boot files are to be found not where XP is), and you're quoting C:boot.ini not D:boot.ini in your post, then my guess is that C:boot.ini might contain a syntax error which is forcing NTLDR to use its internal defaults (rdisk(0) partition(1) I think).
Check in the wiki that your syntax is correct (note barely visible spaces between some parameters), and if you still can't find out what's wrong, copy/paste C:boot.ini and the debug mode settings display from EasyBCD to your post and we'll see if we can spot something.
Last edited:
G'Day Terry:

Thanks for your interest. What is now my SECOND physical drive, was FORMERLY my first physical drive and XP booted perfectly from it. It had NTLDR and NTDETECT.COM PLUS the following boot.ini:

[boot loader]
[operating systems]
signature(15305c26)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect

Note the "signature" entry; I've never seen this before; normally "multi"

I have moved the XP drive from the primary to the secondary IDE port and installed a new drive on the primary IDE Port (now drive C:smile: and installed Vista on it. I also removed boot.ini, NTLDR and NTDETECT.COM from the original XP drive (now D:smile:


This is the current boot.ini on C:

[boot loader]
[operating systems]
multi(0)disk(0)rdisk(1)partition(1)\WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect


Finally, here is the debug display from EasyBCD

Windows Boot Manager
identifier {9dea862c-5cdd-4e70-acc1-f32b344d4795}
device partition=C:
description Windows Boot Manager
locale en-US
inherit {7ea2e1ac-2e61-4728-aaa3-896d9d0a9f0e}
default {b173c7b1-b025-11dd-8e11-8dd64c1cb521}
displayorder {b173c7b1-b025-11dd-8e11-8dd64c1cb521}
toolsdisplayorder {b2721d73-1db4-4c62-bf78-c548a880142d}
timeout 5
Real-mode Boot Sector
identifier {b173c7b1-b025-11dd-8e11-8dd64c1cb521}
device partition=C:
path \NTLDR
description Windows XP
Windows Boot Loader
identifier {c5401960-af6d-11dd-bea1-debc17b2b364}
device partition=C:
path \Windows\system32\winload.exe
description Windows Vista
locale en-US
inherit {6efb52bf-1766-41db-a6b3-0ee5eff72bd7}
osdevice partition=C:
systemroot \Windows
resumeobject {c5401961-af6d-11dd-bea1-debc17b2b364}
nx OptIn


Thanks for looking

Firstly Boo, it's best to copy the XP files to the Vista root, and leave all the originals in place, so that the XP disk will remain bootable in stand-alone mode should your Vista disk ever break. This could save your life one day.
Secondly, the "signature" format of your boot.ini, would indicate an SCSI drive rather than IDE.
If so, this is telling NTLDR to find XP on the SCSI HDD with that disk signature, and the normal (multi(0)) format need for an rdisk() edit won't apply.
Do you have your disks on an SCSI controller ?
Otherwise everything looks like it should work for IDE or SATA.
No SCSI here

Pretty amazing...... That boot.ini was created as a reult of installing XP on an IDE drive thru an IDE controller. Why it would not have "multi" I have no idea. I'm going to put another blank drive in the slave position and install XP from scratch, assuming XP will let me install on a slave drive. Thanks for looking, though.

Curioser and Curioser


As an experiment, I put two 40 GB drives (freshly formatted with a single partition on each) in my PC, one primary, one slave IDE. Installed Vista on the first drive, no problem. Then shutdown system and booted from XP install CD ; specified the partition on the SECOND drive as the XP install partition. Everything went fine during initial file copy but when it got to the first reboot, the good old hal.dll error message popped up. Interesting, no?

Is your CD before the HDDs in the BIOS boot sequence ? Booting from a CD via function key options can cause problems with an install, when the 1st reboot goes to the HDD instead of back to the CD.
Is your CD before the HDDs in the BIOS boot sequence ? Booting from a CD via function key options can cause problems with an install, when the 1st reboot goes to the HDD instead of back to the CD.

I will check your suggestion..... Thanks for all your interest at this rather mystifying problem.


I notice from your sig that you are a pilot. My family is also "heavy" into aviation. I hold all US ratings except ATP (Airline transport pilot) and am coming up on the 50th aniversary of my first solo flight back in 1961. My son holds a private and is getting his instrument rating. He's a college professor and runs the program for air traffic control trainees. My son-in-law does not fly himself, but has a 1980 Hawker-Siddley 10 passenger jet that he uses for business.



P.S. I will certainly let you know the solution once I figure out.
Heavy in all senses.
I'm just PPL, not even night rated thanks to anomolous trichromatism (non-standard colour vision). The most exciting thing I've flown (excepting SST (StarShip Titanic - not Concorde)) is a Pitts, though I got within a whisker of the second seat in Nick Grace's Spitfire IX, until fate intervened by killing him in a road accident.
The final word.....

Well, I put everything back like it was, with windows XP booting from the first partition on the first drive (as it's been for a couple of years). Put the second freshly formatted drive in the slave position, and installed Vista on it.

Without even running BCDEasy, everything dual boots flawlessly.

Who knows what the problem is with installing Vista first and XP second, when putting XP on a SECOND physical disk?? I know it works Vista first, XP second when putting XP on a second partition on the same HD.

Thanks for all....


P.S. A pitts????? I'm GREEN with envy!!!!!!!!!!!!!