Triple OS (XP, Vista, Ubuntu) Boot Loader Help...

#1
I've set up a triple boot scenario using the OSes outlined below (installed in that order), but after installing Ubuntu, I'm no longer able to boot into XP. Instead, I'm presented with the "hal.dll missing or corrupt" error message.

I'm fairly certain that I'm having an issue with misconfigured boot.ini settings. Please see pertinent information below, and if anyone could provide assistance, it would be greatly appreciated.

OSes Installed (in order of installation)
Windows XP Professional 32-bit
Vista Ultimate 64-bit
Ubuntu 8.04 64-bit

Hard Drives Installed
Disk 0: 400GB (Storage)
Disk 1: 1TB (OSes)

Disk 0 Partition(s)
Single partition - D:

Disk 1 Partition(s)
C: Vista - 735.22GB
E: XP - 97.65GB
Ubuntu - 97.69GB
Ubuntu Swap - 965MB

Boot.ini
[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(2)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(2)\WINDOWS="Microsoft Windows XP Professional" /NOEXECUTE=OPTIN /FASTDETECT

If I'm understanding this correctly, Boot.ini is pointing to my storage drive (Disk 0), which is incorrect. But changing the top and bottom lines to 0,0,1,2 doesn't fix the problem. I've also tried other combinations, such as 0,0,1,5 but I'm partially shooting in the dark here. See pics below for further clarification:

Vista Disk Management


Ubuntu fDisk Log


Ubuntu Setup Screenie
 
Last edited:

JustinW

Super Moderator
Staff member
#2
I'm assuming your using grub, since with ubuntu 7.10 or later the version of grub it installs is capable of booting xp/vista. First i'd make sure the hal.dll file is present. As a troubleshooting process, if you have the orignal install media, I would perform an xp repair to put ntldr in the MBR, make sure you can boot xp, and then reinstall grub to reestablish it if that is what you want to use.

Alternatively, if you haven't all ready, give EasyBCD a try.
 
#4
GRUB is being used, and hal.dll is present. I do plan on giving EasyBCD a whirl, but want to get the current situation sorted out before moving on.

Will an XP repair muck with Vista's boot loader? Out of the three, the Vista partition is the most important, as it's the one I use on a day-to-day basis.

Addendum:

I've read through the Wiki entry, and from my understanding, my boot.ini should look like this:

[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(1)partition(5)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(1)partition(5)\WINDOWS="Microsoft Windows XP Professional" /NOEXECUTE=OPTIN /FASTDETECT

Changing it to the above rids me of hal.dll error message, but gives me a new one saying to the effect of there's no boot device and to check my hardware configuration.

Thanks for the welcome, btw. :smile:
 
Last edited:

JustinW

Super Moderator
Staff member
#5
GRUB is being used, and hal.dll is present. I do plan on giving EasyBCD a whirl, but want to get the current situation sorted out before moving on.

Will an XP repair muck with Vista's boot loader? Out of the three, the Vista partition is the most important, as it's the one I use on a day-to-day basis.
Installing NTLDR would make Vista unbootable until you could get grub reinstalled w/ the current menu.lst file your using since you arent having a problem chainloading to ntldr or vistas boot mgr. If you mess things up, not all is lost. Vista's bootloader is easily repaired with startup repair on the vista install media. You could decide to ditch grub and use vista's bootloader + EasyBCD and create an boot entry using EasyBCD that'll boot ubuntu/xp.
 

mqudsi

Mostly Harmless
Staff member
#6
Hi, C64Threepwood..

Can you post the exact error message, please?
 
#7
Hi, C64Threepwood..

Can you post the exact error message, please?
Certainly. Here's the verbiage with various Boot.ini configurations (multi, disk, rdisk, partition). Also, let me note that hal.dll is in the proper directory; boot.ini, ntdetect.com, and ntldr are in my C: root; and ntoskrnl.exe is in E:\Windows\system32. Here are the messages:

0011
Windows could not start because the following file is missing or corrupt:
<Windows root>\system32\hal.dll.
Please re-install a copy of the above file.

0015
Windows could not start because of a computer disk hardware configuration problem.
Could not read from the selected boot disk. Check boot path and disk hardware.
Please check the Windows documentation about hardware disk configuration and your hardware reference manuals for addtional information.

0001
Windows could not start because the following file is missing or corrupt:
<Windows root>\system32\ntoskrnl.exe.
Please re-install a copy of the above file.

0005
Windows could not start because of a computer disk hardware configuration problem.
Could not read from the selected boot disk. Check boot path and disk hardware.
Please check the Windows documentation about hardware disk configuration and your hardware reference manuals for addtional information.
 

mqudsi

Mostly Harmless
Staff member
#8
All these indicate that boot.ini is not pointing to the right drive.. You need to try some more permutations, or run bootcfg /rebuild from the Windows XP recovery console.