raid1 failure hal.dll error after bios reset


Nov 20, 2008
mobo; ASUS crosshair
memory; Buffalo Firestix PYRO pc2-8500 fsx1066d2c-1g
2x250GB SataII WD in RAID-1
1-DvD RW
xp pro sp2

Very Experienced Programmer/Technician

Hello all, my memory went bad, and caused my bios to lockup. i reset my bios in desperation. didnt get it to boot, so i sent my memory to manufacturer and waited 2 weeks. they sent me some splendid new memory, i put it in, and viola, computer boots right up.

right away im thinking all is normal, but then somedriver installation prompts come up. so as i always do, i click next, next, continue anyway, blah blah.
one of the drivers that needed to install was a generic volume for the hard drive, this struck my attention, but i went ahead and installed the driver, then for the other disk the same thing, it came up again, and i installed the other generic i believe. and a floppy disk controller came up, and wouldnt install because couldnt find the driver on the system. big deal, not a priority now anyway.

The problem came in when i looked in "my computer" and noticed a C drive, and a F drive, both 250GB, oh ****. the RAID array was defunct!! I immediately realized that the array was reset when i reset the bios, atleast i believe the CMOS reset affects the NVIDIA raid array controller too doesnt it? So i shut it down, looked in the bios, it was TOTALLY default, BIG OOPS! So i programed it by enabling the RAID CONTROLLER, and putting drives 1 and 2 onto the RAID controller. These are my only 2 hard drives, and their locaitons.

*note* mind you, the nVidia mirror was still active as soon as i turned back on the RAID and applied drives 1 and 2 to RAID in BIOS. Hmm, where is this info stored? see question about this at the end...

Everything ok, now lets reboot......

WHAM, HAL.DLL Error. I think i may have goofed the boot.ini by booting into the system without the array active, or by installing the generic volume drivers, or could it be some driver list in a registry or somethign else? i dont think its memory, nor bad drives, nor power supply, nor do i think replacing the hal.dll will fix this, nor do i want to go into the recovery panel and risk messing up the master boot record, but this may be necessary.

So, from there i tried a couple things, i went into bios and took sata drive slot 2 and removed it from the RAID array, leaving only sata slot 1 on the RAID array and SLOT 2 as a free drive. This caused the RAID drive to be in boot order 1, and the free drive as boot order 2. I removed it from the RAID as an attempt to get the system to boot back up so i can edit the boot.ini file. This worked, when the system booted, i saw UNHEALTHY RAID ARRAY, as expected, and also the system booted off the drive that was pulled from the RAID. So, i made a bit of progress here.

Once back into XP with one raid drive pulled ffrom the array i checked the boot.ini's and they both looked default, and were the same as each other.
[boot loader]
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect
So i thought maybe the disk locations were off. So i went into disk management and found that DISK0 is the C:\ Drive and is listed as a PAGE FILE, and DISK1 is the RAID controlled drive F:\ and is listed as the SYSTEM drive.
I went into Drive F and added an entry into the boot.ini like this
[boot loader]
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect[boot loader]
multi(0)disk(1)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional - RAID" /noexecute=optin /fastdetect
I then rebooted to see if i could boot from the RAID now. The options came up, and i selected the 2nd option, the RAID option of course. This gave me a Drive configuration error, probably because its i put the wrong drive location in the boot.ini it was just a stab as im not totally versed on boot.ini, im trying more options there now.

Editing the boot.ini didnt work so far.

So i rebooted to see if i could boot into the C drive still and selected option1 the default and it still booted into the C drive that was NOT on the raid controller. IT DID boot back into the NON RAID DRIVE opsys no problem again.

next i went into bios and switched the boot order and placed the RAID Drive into Boot order#2, and the Free drive as Boot order 1. This time i didnt get the options, indicating that it was now reading the boot.ini from the C Drive and not the F drive. Now i went into disk management and hoped to find that the RAID controlled drive was now the system drive. It wasnt, The C Drive Free Drive was now listed as SYSTEm drive, but still C:\ and Still Disk0 of course. The RAID controlled drive F:\ Drive was now listed as just ACTIVE.

This is where im at. a system that will boot only into a free drive, but not into the raid mirror.

Can i rebuild the Raid Array with the NVidia Bios without losing data?
Do i even need to rebuild the array?
Cant i just edit the boot.ini some more to fix this?
Was the installing of the generic hard drive drivers that did me in, or simply the fact that i booted it without the active mirror, or just by wiping out the bios in the first place?

is there some kind of eeprom memory in the nVidia nforce chipset seperate from the asus bios that holds the RAID1 Mirror intact, or is that information included in a file on the drive?
If you reset the BIOS, you first have to go into the regular BIOS and re-enable the RAID controller, set the RAID array as bootable, and set it in the boot order. (all this will be undone if you reset the BIOS)
Then when you boot you will have the option during POST again to now enter the RAID BIOS. Enter it and see first if the drives show as RAID'ed already. After all the messing around you did, it may or may not now recognize the array. The array information is stored on the drive, and the controller interpets it.
It was a pretty simple fix at first, but with all the messing around you have done, I am not sure if it will be so simple now. But regardless, if the array is not completey broken it will still appear in the RAID BIOS as a healthy array. If not, have it rebuild the array, mirroring everything back to the second disk.
You may have to reload the RAID drivers as well if you deleted or messed with them in anyway.



Nov 20, 2008
ok, i figured out a few things, and fixed it too.

first what i did as continuing from above.

I edited the boot.ini file again like this

boot.ini is set as
multi0 disk0 rdisk0partition1 - winxp
multi0 disk0 rdisk1 partition1 - winxp raid
to see what happens

after booting the C:\ is listed as 'SYSTEM' and is the free drive, and
the RAID F:\ is listed as 'BOOT'

so then i went and changed the boot order back to RAID drive priority1, and NON-RAID drive to priority2,
THE SYSTEM BOOTED, YAY!! so now im in my raid setup no problem,

then i went back into BIOS and re-enabled the drive2 to RAID as well, bringing it right back to where i started after the initial reprogram of the bios, BUT this time somewhere along the way the master boot record pulled its head out of its a** i assume.

now after rebooting with both drives enabled, and the boot.ini set up for rdisk0, and rdisk1 i have a huge problem, there is 2 nvidia unhealthy raid arrays reporting.
Once the system boots i go into the nvidia media shield, and see the same thing. I have no migrate options as i would have hoped, since both drives are already RAIDed. the mirrors magically appeared as the system farted and split the mirrors in two, sometime during one of the previous steps

SO, now what? after messing with the bios by switching raid on and off, and enabling drives 1 and 2 to raid, nothing changes. And after deleting the rdisk1 entry from teh boot.ini and bringing it back to default everything still works the same, nothing changed as far as the new semi-working configuration, and ironically the settings are still exactly the same as when i initially got the hal.dll error. by working thru it this way i was able to atleast get booted into the RAID array, even though it was a single-drive-unhealthy-array, mind you. probably the boot.ini had written to the MBR somehow.

the pc is now sitting with 2 duplicate unhealthy mirrors as mentioned above,
i leave both drives 1 and 2 enabled to raid as it shoudl be, save the bios to a profile, boot it up into xp on the 1st unhealthy array as the new boot.ini defaults to, then run media shield, and do the horrible task of deleting the new mirror. To do this, I clicked on the 2nd mirror(IN WINDOWS), which of course consisted of the drive rdisk1, and selected to DELETE array. It warned me that there will be total data loss, this is very scary. Once i deleted it, within a minute, it AUTOMATICALLY REBUILT the initial mirror, where now both drives are showing up in the media shield, and are stating to be REBUILDING. Thats wierd, that it automatically did it, its like there was something still registering the drives together.

lucky finish to a potentially dangerous situation.

during this process i did update to the latest media shield as of today from - before i did the deletion of the array

its now 34% done rebuilding the array on the machine that had the problem.

JITPUBLISHER, i never set it as bootable, but it was marked as bootable already, there was no boot order as there was only one hard drive in the hard drive boot order when they were as a mirror,

i had entered the raid bios and they both showed as mirrored no problem, thats when all this started, even though they were mirrored and set to boot, the hal.dll error was already there to begin with.

how would i have fixed it at first considering this was already done, after i made the first mistake of not realizing the bios was reset, and simply booting the machine to find that it had been?

Question, when you suggest having the raid bios to rebuild the array, wont i risk data loss doing that? this why i never do it that way.

check out my personal website, it has my alaskan malamute wolf-dogs and some mountaineering, and reef-tank educational stuff

also, need a website built? go to i program in php/mysql and build web applications
Well, I have really tried to follow what all you are doing here, but it just seems to me that you made a huge mountain out of a mole hill size problem, so to speak.

If you are worried about data loss, the first thing you should do is stop using RAID 1 and start using a good backup system. RAID 1 is not a reliable backup, as you have just nearly witnessed first hand. The only thing RAID 1 is good for is redundacy, your PC will keep running if 1 drive dies.

Anyhow, glad you got it back up and running!

Similar threads