Problem with Dual Vista/XP boot and External Hard Drive


I have set up a dual boot Vista/XP on my Pavilion dv9620us laptop. Vista is on the C: partition (system drive), XP is on the D: partition (logical drive). I primarily boot to XP, which is set as the default OS.

I also have a Maxtor External Hard Drive which only stores data.

The BIOS are set to boot in this order: CDRom, Internal Hard Drive, External USB device. There is no option in the OS to disable USB booting.

I have no problem booting into Vista with the Maxtor drive turned on or off. However, I cannot boot into XP with the Maxtor drive turned ON. I get the "HAL" error. I can boot just fine into XP when the Maxtor drive is turned OFF.

I have eliminated the BIOS as being the problem. I even tried to buy an updated version of BIOS from the original vendor that would allow me to disable USB booting entirely, but they say HP has to write new BIOS for this laptop. HP denies this, and says I need to buy an update from the BIOS vendor. Neither will help me with this problem. HP will not support dual-booting or booting to XP on this laptop.

So I tried Maxtor tech support and they were clueless.

Here is my boot.ini file, which works perfectly when the Maxtor drive is turned off at boot:

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

Something in the boot files is causing the laptop to try to boot to the Maxtor drive when I choose XP if the Maxtor drive is turned on. And, of course, none of the XP boot files are on the Maxtor drive, so I get the HAL error.

Does anyone have any ideas as to why this is happening? It is very irritating to always have to remember to turn off the Maxtor drive whenever I shut down or reboot.
Last edited:
Your boot.ini is fine since XP obviously is capable of booting.

It must be something to do with the kind of external drive you have that is interfering with XP as it boots. Boot into XP with it off and than power it on to install its driver and once you know that's working reboot and see if the problem persists.
I have done that many, many times. If I boot into XP with the Maxtor drive off, then turn it on, XP detects it immediately and it appears in Windows Explorer as the H: drive.

All drives displayed then are:
C: Vista
E: HP_Recovery
F: Removable Disk (Flash/SD Drive which I never use)
H: DOCS (Maxtor external drive)

If I then reboot, leaving the Maxtor drive turned on, I get the old problem - a black screen with the "HAL" error displayed. If at that point I turn the Maxtor drive off and do a CTRL/ALT/DEL reboot, XP boots fine.


More info: I SUSPECT that the problem has to do with XP being on the D: partition.

On my old PC which had only XP installed onto the C: drive (with no partitions and no Vista) I had no problem booting into XP whether the Maxtor drive was turned on or off. At first I thought it was a BIOS problem, as the PC has different BIOS than the laptop. But it is definitely not a BIOS problem.

I could test this suspicion if I had a Vista CD by installing XP onto the C: partition and Vista onto the D: partition, but all I get with an HP laptop is a Vista recovery CD, which assumes Vista is installed onto the C: drive, so I have to keep it there. Unfortunately I have no access to a Vista CD.
Last edited:
XP on D: drive is expected when you're in Vista so that's not the issue. Does this drive have a firewire port so you could hook it up that way? Since most computers I know of don't support firewire boot as of right now, thats pretty much fool proof.
No, the Maxtor drive does not have a firewire port. It wouldn't help anyway, since this Pavilion Laptop does not support firewire in XP - only in Vista.
Are you sure you're posting the correct boot.ini ?
The copy of boot.ini in the root of the "system" partition is the one in use (The Vista partition C:\ from what you say in your first post, not the one from XP).
If the XP logical drive is inside an extended partition on the Vista HDD, then the address would be rdisk(0) partition(3)
If the XP drive is a 2nd internal HDD, then the address would be rdisk(1) partition(2) (because the extended partition has a number too), so I can't see how the boot.ini you posted would ever work.
As to your actual problem.
Although Vista bootmgr identifies the drive to boot from using the disk id, when you choose XP from the bootmgr menu, bootmgr chains to NTLDR (XP's bootloader) and NTLDR gets the disk address from the BIOS.
If you have your external HDD connected, the BIOS PnP must be detecting it and giving it the rdisk number which belongs to XP when it's not connected, hence the change in behaviour.
Last edited:
Well for some reason I guess your external could possibly be the problem with boot.ini, but the problem here is unless you make a copy of it elsewhere to use in this situation you really well need to have the drive on all the time when you boot XP (Unless you add a second entry to the same boot.ini to boot XP correctly in this case. Follow Terry's advice in finding the correct location but make a second line and keep the orginal in case you want to boot XP without the external drive being present.
Sorry I dropped this thread for a while - I had to leave town for a family funeral.

Yes, I posted the correct boot.ini. Vista and XP are on the same internal hard drive which is partitioned into C: and D: drives. XP is indeed on a logical drive inside an extended partition on the Vista HDD.

I have already tried changing the boot ini, but XP will only boot when it reads "rdisk(1)partition(1)". I think this is because NTLDR and other XP boot files are all on the root of the C: drive, which is partition 1. I thought of copying the XP boot files to the D: drive and changing the boot.ini to read "rdisk(1)partition(2)" but have not had the time to try this yet. I'm not sure if you can copy those files from one drive to another and boot into XP.

I agree that the BIOS PnP must be detecting the external USB drive and giving it the rdisk number which belongs to XP, but I don't know what do about it. The BIOS company and Maxtor both were no help at all when I called their Tech Support. There are no BIOS updates available from HP, who also refuses to help because the laptop is out of warranty.
You aren't always able to use Boot.ini to access an external drive. It all depends on the mobo, and it would seem that you're out of luck.
Had the same problem, searched the Internet and found a million people with the same problem and a million helpful people and their "solutions" to the problem, of which some did just not work, and some were downright dangerous to the health of my PC. But at last I found a solution that works, and it's simple (thank you saykomatrixx):

First (of course) you check your BIOS to see that USB-devices are below (after) internal HD:s in the boot sequence, and that might be all you need to do.

If that does not work, or your BIOS (like mine) does not have this option (I only had Disk drives, Hard Drives, Network drives, and Floppy drives), then here's the beauty:
Find (in BIOS) the "USB Legacy Support", make sure it is set to "Enabled", and voilà, it should work like a charm to start-up with the external HD:s connected and on.

I did get a small surprise during next start-up when Windows started to install drivers for my sound card, and later I had to change some settings in my sound card to get my microphone to work again, as the driver install had changed some settings there, but otherwise everything is just hunky dory.

I run XP Home SP3

Good luck.

I don't really know what the "USB Legacy Support" is/does (perhaps a more educated member could tell us?) but as my already was in "Auto" which is a sort of semi-on (software controlled is my guess), the difference can't be that huge from before I switched it fully on.