We help IT Professionals succeed at work.

Wierd Multi Boot hal.dll/boot.ini

tacouch asked
Medium Priority
Last Modified: 2008-05-29
I only have 125 points since I'm new to this site and haven't quite figured it out yet.

But heres the run down.

I have a custom built tower for a year now. I started out with 2 normal ATA100 drives in raid 0 with XP Pro installed.

I then upgraded to 4 SATA150 drives with XP Pro in raid 0+1. No problem there.

Then I get the wild hair to try some Linux distros on the two ATA100 drives. I add them in and everything is peachy. I get two flavors of Linux on the drives all OS's are bootable and I'm happy for about 48 hours when I get hal.dll errors and another that says my hardware is miss configured.

I tried recovery console multiple times. Never prompts me to choose or login to the XP installation. I try anyway to rebuild the boot.ini. Bootcfg says it can't be found. DIR shows its there. So I try to use Attrib to change the attributes. Get invalid Attrib errors.

So I rebuild the whole setup again. Same results as before. Every thing is fine for awhile and then bam hal.dll errors again.

So I decided to do it one more time and this time I walk away before the "Press any key to boot from CD" message to start the reinstall. Well I come back couple min latter and XP booted like it should. I'm thinking ok that was a fluke. So I reboot and it boots fine again. I then remember the XP CD is in the drive. I remove it and reboot again. Bam hal.dll error. I place the disk back in and hit reset it boots fine again. I try different disks but unless its the XP Disk I have hal.dll errors.

Anyone know how I can fix this as I would really like a dual boot or triple boot system. I think its got something to do with the sata drives being in a raid array but not sure.

Machine specs
AN8 NF-CK804 (Bios 20)
AMD Athlon 64 3200+
2 512MB DDR400 CL3 PC3200 (Dual Channel)
4 250Gig WDC RE 7200 Rpm 8MB Cache Serial ATA150 (Raid 0+1)
2 80 Gig Seagate Barracuda 7200 Rpm 2MB Cache ATA100
Nvraid/NvMass Storage Driver v1.05
Lite On DVD+-R/RW-CD+-R/RW
XG Magnum 500 watt
Windows XP Pro SP2 (w/all critical updates)
Watch Question

Top Expert 2012

When you used the RAID array, did you press F6 and install the RAID drivers from the floppy that was supplied?  You can't boot from a RAID array unless you have the driver installed.

boot to the windows CD, use f6 to load the raid drivers, enter recovery console, run bootcfg/rebuild
further information at:
of course, this won't cater to your linux installation, you will need to use a linux bootloader like lilo or grub for this.


Yes I installed the raid drivers during inital install of the OS's.

Bootcfg doesn't help.

It still has to have the XP setup CD in the DVD Drive in order for my boot to work which makes me think its pulling a file off the CD or causing drive letter asignments to change.

At this point Linux isn't even installed anymore because of this boot issue.

I have two 5gig partitions on IDE one and a 64gig unformated partition. One has XP on fat32 the other is just formated fat32.

IDE  2 has an unformated 74gig partition.

Raid Array has another XP install on it. Using XP Bootloader I can boot just fine to the IDE1 XP install but booting to the Raid array I HAVE to have the XP Setup CD in the drive or it says the hal.dll is missing or corrupt.

This is the contents of my boot.ini

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

The paths look right for each as rdisk 0 is IDE1, rdisk 1 would be IDE2 and rdisk2 is the raid array. Although I'm wondering if multi and disk need to say something else for the raid array as it is on SATA port 1 and not IDE Master1.

Any other suggestions. I had 5 more points given to me so I up'd the points.
Here's what microsoft says about a hal.dll missing/corrupt:

it appears that issues with boot.ini can cause the problem (however, if you've already run bootcfg/rebuild and that didn't work, this is probably not the case).  It also says that a missing or corrupt ntoskrnl.exe file can cause this error, try replacing ntoskrnl.exe.

Not the solution you were looking for? Getting a personalized solution is easy.

Ask the Experts
Top Expert 2012

Do your SATA drives have a different compatability mode that they can be accessed as? (legacy mode, enhanced mode, etc)


These are the SATA drives I'm using.


Doesn't make any mention of a legacy mode. In fact the only thing on the label is a note about setting a jumper for passing FCC interference tests called spread spectrum clocking and another jumper for allowing the drive to power up in stand by. Currently the jumpers are on pins 1/2(default disables spread spectrum clocking) and 3/4 (to enable the SATA 150 speed other wise it defaults to ATA 100 speeds).
Top Expert 2012

What I meant was the BIOS for the SATA drives - does it have a compatability mode for access?  Sometimes, one has to use a different access method to make SATA drives work normally.  Try it also in a non-RAID setup, just to make sure it's not a hardware problem.


The only thing I can find in the BIOS is changing the boot order of the harddrives regardless of there jumper settings. This is in additition to boot device order. i.e. Floppy Cdrom HD.

Right now its set to IDE1, Raid Array, IDE2. Changing the boot order only causes more problems.

And now while tring to find anything that that relates to legacy mode in the bios it started the hal.dll error even with the XP Setup disk in the drive. Tried the bootcfg by loading the raid drivers as you suggested Callandor and now the only install, even with the raid drivers loaded, that it sees is the XP install on the IDE. I logged into the working install and looked at the boot.ini. Its exactly as is posted above. So this is defiantly a hardware issue I just have no other idea what else to try.
Top Expert 2012
There should be a RAID controller BIOS that you press a certain keystroke to get into at boot time.  It may be a hardware issue, but you don't know if it might just not like the current configuration.


Your correct there is a controller bios accessed via F10 on boot but the only options are which drives to use. The level of Raid and whether the array is bootable.

I've ended up reformating again. This time I installed with just the raid array active. I then made sure the box would boot correctly without the XP setup disk multiple times over the course of the last two days and so far it has. I then re-enabled the IDE drives but didn't format them. So far so good. I'm post from this machine instead of my laptop.

My next step will be to attempt to install a Linux Distro's on the other two drives and see if I get a failure to boot. I think I'll do the first one and alternate back and forth a day or two seeing if anything bites the dust.


Well what I ended up doing was creating 2 bios profiles and setting the bios to hide the IDE drives from the SATA drives when booting to windows and hide the Raid Array from the Linux distros when booting to Linux. Its a pain in the butt to have to go into the Bios every time I want to switch OS's but thats the only way around the issue.

Spliting the points between the Callandor and tfjeff.
Access more of Experts Exchange with a free account
Thanks for using Experts Exchange.

Create a free account to continue.

Limited access with a free account allows you to:

  • View three pieces of content (articles, solutions, posts, and videos)
  • Ask the experts questions (counted toward content limit)
  • Customize your dashboard and profile

*This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.


Please enter a first name

Please enter a last name

8+ characters (letters, numbers, and a symbol)

By clicking, you agree to the Terms of Use and Privacy Policy.