Cannot Find Hal.dll
Jun 21, 2009 Technique Documents

Several days ago, there is a customer bring a computer to our store, he asked me to reinstall Windows XP. I did it. However, After copying the files, the systems restart, and it hints the error message that cannot find hal.dll
Error Message: Cannot Find \Windows\System32\hal.dll
Solution 1.
Put the Win XP disc in the CD-ROM, at this screen, then Press “R” to enter the “Recovery Console”

Then we need to copy the hal.dll from the I386 in the disc to windows\system32
Step1.
Del C:\windows\system32\hal.dll
expand X:\i386\halaacpi.dl_ C:\windows\system32\hal.dll
exit
PS: Attention, here C drive is the partition which you install XP, and X is your CD-ROM. If you are different from me, please change.
Here are some HAL description in I386, Generally, we use halaacpi.dl_
ACPI Multiprocessor PC halmacpi.dl_
ACPI Uniprocessor PC halaacpi.dl_
Advanced Configuration and Power Interface (ACPI) PC halacpi.dl_
MPS Multiprocessor PC halmps.dl_
MPS Uniprocessor PC halapic.dl_
Standard PC hal.dl_
Compaq SystemPro Multiprocessor or 100% Compatible halsp.dl_
After restart, I still cannot find Hal.dll. It seems that I did a wrong way.
Solution 2.
Restart and Boot in DOS
Check the boot.ini, I found there is something wrong with this file. The multi is replace as signiture. Change it to multi(0). Save it. Then Restart. Finally, WinXP comes out!
PS: Boot.ini is read only. Before you change the boot.ini, you should remove the attribute with command “attrib”.
I recommand you guys to change it in ERD2005 or Other WinPE. Recovery Console is too difficult to use.
After you enter the PE, find boot.ini, change signiture to multi(0), you need to change two times. Then Save and restart.
Generally, The boot.ini content is:
[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS=”Microsoft Windows XP Professional” /NOEXECUTE=OPTIN /FASTDETECT


Leave a Reply