Devigner blog about development and design

hal.dll Missing on Dual Boot With Linux

I received the error on Windows XP startup that my hal.dll file (hardware abstraction layer) was missing and Windows would not boot. Here’s how I fixed it.

Boot from your Windows CD and follow the directions to start the Recovery Console. When asked for your Administrator password, enter that in. In my case I didn’t have one so I left it blank.

I then navigate to the system32 folder by typing “cd windows/system32? to get into the system32 directory and type “dir” to get a list of directory files to confirm that the hal.dll file was there. In which case it was. This tells me that there is a problem with my boot.ini file.

I then typed the following:

cd C:/
Attrib -H -R -S C:\Boot.ini
DEL C:\Boot.ini
BootCfg /Rebuild

The Attrib command I entered made the file editable. The DEL command deleted the Boot.ini file and the BootCfg /Rebuild created a new Boot.ini file based on my partition tables. The exit command reboots the PC.

If you ever run into this and the hal.dll file is truely missing, you can extract a copy from your Windows CD by typing the following from the recovery console.

expand d:\i386\hal.dll_c:\windows\system32\hal.dll

This will copy the file from the CD to your system32 directory and reboot. You should be up and running again.

I hope this helps someone that has the same problems I encountered with Windows and hal.