I found another site that provides a concise issue-solution to hal.dll. I hope this will resolve your issue.
Issue: Missing Windows hal.dll file.
Cause:
The missing or cannot find hal.dll, \windows\system32\hal.dll, or \winnt\system32\hal.dll error message may be experienced on a Microsoft Windows 2000 or Microsoft Windows XP system when the boot.ini becomes corrupted or when a user is attempting to dual boot a computer.
Solution:
Verify that the computer boot.ini is present and not corrupted
1. Verify the boot.ini file is found on the computer by using a boot diskette or use your Windows CD to get to the MS-DOS “C:\>” prompt.
2. From this prompt edit the boot.ini, verify that it is pointing to the correct operating system, and that no anomalies are found within the file. Additional information about editing the boot.ini as well as additional information about its available options can be found on document CH000492. Below is a listing of what to verify
- If only one operating system is on the computer verify that the boot.ini only has one operating system listed. In some situations an alternate configuration line may be added for the same operating system, leaving the improper line.
- Verify that the “default=” line as well as the operating system line are the same and that they are pointing to the correct operating system.
Verify that the computer has the hal.dll file
From the MS-DOS “C:\>” prompt quickly determine if your computer has the “hal.dll” file by typing “dir hal.dll /s” at the prompt. If the computer returns a “File not found” message, the hal.dll has been deleted.
To recover this file boot the Windows operating system CD and choose the option to “restore”, “repair”, or “recover”. This option will prompt you for the Windows installation to use, the administrators password and will allow you to restore the proper file. At the MS-DOS prompt type the following command:
expand x:\i386\hal.dl_ y:\windows\system32\hal.dll
In the above example “x” would be the letter of your CD-ROM drive and “y” the letter of the drive your operating system is installed on. If you need to determine the drive letters of your devices type “map”.
Additional information about the expand command can be found on our expand help page.
Reinstall the operating system
If the boot.ini is found on the computer and does not appear to be corrupted and/or if the hal.dll file is missing it is recommended that you reinstall your Windows operating system.