Triple boot woes (with XP screwed up)


Hello everyone,
Although multiple boot discussions seem to be very popular around here, I'm in big trouble and therefore I am posting this message in dire need of help. I recently acquired a new Acer notebook, on which I tried to install a triple boot system. Up until yesterday, I managed to get a nice XP/Vista dual boot with EasyBCD (cool app, by the way!) that was working like a charm.

Then I made up my mind about installing Ubuntu too, but something must have gone wrong and my XP installation is broken. On a 200-Gb HD, I had 100 devoted to Vista in the main partition ("C:"), then 40 Gb to XP SP2 ("D:"), and the rest as free space ready to host Ubuntu 7.10. My laptop came with a factory-installed Vista Business. Here's the detailed operation sequence:

1) Using Vista's disk administration tool, I enlarged the XP partition a bit (a few Gbs)
2) I installed Ubuntu: this was straightforward but ended up replacing EasyBCD with GRUB
3) Logged back in to Vista to restore EasyBCD and adding the Linux entry
4) Restarted the system, only to find out that XP does not boot anymore (whereas Vista and Ubuntu do).

In particular, XP bombs out complaining that the file <Main OS dir>\system32\hal.dll is not there or is corrupt, and it won't boot. Oddy enough, I can browse the XP partition with Vista's explorer without the slightest problem, and all XP files seem to be there, safe and sound (including boot files such as ntldr and boot.ini which are located in the C:\ Vista partition).

Looks like something went wrong with the installation, but really I have no clue. XP was my last concern, and frankly I am a bit lost :S.

Any help/insight/suggestion that might help me get XP back up and running without reinstalling, will be highly valued.

Thanks in advance
Emmanuele Sordini

PS As a side effect, ever since I replaced Grub with EasyBCD and added a new entry to the menu, the former complains about the conf file not having the proper "CHS" format or something like that. While I would like to fix this too, presently what I really care the most about is bringing XP back to life.
Hello esordini and Welcome to NeoSmart Technologies!
first off, thanks for your reply.

EasyBCD Documentation Home - NeoSmart Technologies Wiki

vista/xp dual boot help - The NeoSmart Forums

The wiki can help you on some XP boot problems. As that 2nd topic i linked to. That person had the same issue with the hal.dll which i explained how that can be fixed as well.

Unfortunately, that didn't work. I copied the hal.dll file from the original CD but by no means would it boot. I've a hunch that some step in the installation sequence might have altered either the configuration files or the partition table thereby causing the failure.

Maybe some more diagnostic data could be of some help in tackling the problem. Here's an excerpt of my partition table as seen by Linux fdisk:

/dev/sda1 10Gb Compaq diags
/dev/sda2 115Gb HPFS/NTFS
/dev/sda3 44Gb W95 ext'd (LBA)
/dev/sda4 25Gb Linux
/dev/sda5 43Gb HPFS/NTFS
/dev/sda6 1Gb Linux swap

sda2 is where Vista resides; on the other hand, XP lies somewhere in the extended partition (probably sda5). Here's my boot.ini file (which is located in "C:\", the same logical drive as Vista itself):

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

Any ideas?

Thanks again

IIRC, Windows XP cannot be installed to an extended partition. While Vista & Linux will boot from a extended/logical partition, XP must be on a Primary Partition to load.

IIRC, Windows XP cannot be installed to an extended partition. While Vista & Linux will boot from a extended/logical partition, XP must be on a Primary Partition to load.
Geez, this narrows down the culprit only to one name: Ubuntu, which may have actually written its swap space to the extended partition. Before installing Linux, I was able to boot XP just fine. After installing it, that's when the problems started.

Any suggestion on how I could recover my XP partition w/o having to reinstall either it or Ubuntu?

Did Ubuntu make it partition primary or active? Isnt there a way to go into the Live CD and make XP primary or active again.
Well, it won't be pretty.

Boot into a partition manager like Acronis Disk Director or GParted.

/dev/sda1 10Gb Compaq diags ----> Primary.
/dev/sda2 115Gb HPFS/NTFS -----> Primary, active.
/dev/sda3 44Gb W95 ext'd (LBA) ----> this contains the last two entries ATM
/dev/sda4 25Gb Linux --> Primary partition. Move this into the extended.
/dev/sda5 43Gb HPFS/NTFS ---> logical partition w/ XP. Move this out of the extended, to where Ubuntu was
/dev/sda6 1Gb Linux swap ----> Keep it in the extended.

AT the end, you should have something like this:

| Compaq (Primary)                |
| Vista (Primary, Active)         |
| XP (Primary, Active)            |
| Ubuntu (Logical)                |
| SWAP (Logical)                  |

Once that's done, you'll have to change Ubuntu's menu.lst to point to the new Ubuntu location, and probably update boot.ini to point to the right XP location too.
ubuntu, xp, vista

if you do not have a Arconics or G-Part, find Hiren's Boot CD v9.3 - has an extensive list of tools and utilities that can be used to quickly and easily change partitions.

one of the utilities also will properly identify the hard drive number and partition numbers. when yo use Vista's disk management utility, i have found that Vista renumbers partitions. (ex. C, where vista was is Part 1, the XP was part 2. you create a new partition using Vista from C, and that new partition is now 2, and XP becomes 3.

if after the changing the partitions does not work, you may want to try and rebuild the xp boot conf file. i do not have the 3 or 4 lines of code anywhere handy but those can be found on the internet. you'll need the XP disc, and enter the repair utility. you will need the Administrator password, and the drive letter for the XP install.

This was from October 2007. I am sure the OP would have come back if there was still a issue.