What is hal.dll?
Hal.dll is a hardware abstraction layer that links the physical (hardware) and software components of a computer.
How can I fix an error message saying that hal.dll is missing or corrupt?
The first method rebuilds the boot configuration on your hard drive. If this doesn’t work, the second method replaces the hal.dll file on your computer with the one that comes on the XP CD. Please note that this may be one symptom of a larger, more serious problem. If you have this error multiple times, or this and other errors, you may want to seek help.
It may help to print these instructions.
1. Enter the Recovery Console (instructions here).
2. Then, type the following (in bold), in order:
• bootcfg /rebuild
• You will probably see something like the following:
"Total Identified Windows Installs: 1
Add installation to boot list? (Yes/No/All)"
• Type Yes (or all) and press Enter
• When asked to " Enter Load Identifier," type Microsoft Windows XP Home Edition or Microsoft
Windows XP Professional Edition depending on which edition you have and press Enter
• When asked "Enter OS Load options," type /fastdetect and press Enter
• When it is done, type exit
• Your computer will restart, so see if it worked.
If it does not work, enter the Recovery Console again, choose the installation, and type the password
1. This time, type:
expand D:\i386\hal.dl_ %systemroot%\System32\hal.dll and press Enter
*make sure to replace “D” with your CD and/or DVD drive’s letter that contains the XP CD
2. Again, type exit and see if it worked.
If neither method works, please ask for additional help in the XP support forum. Do not post your question here.
From my site here.