The hal.dll file is a hidden file that is used by Windows XP to communicate with your computer's hardware. Hal.dll can become damaged, corrupted or deleted for a number of reasons and is usually brought to your attention by the "missing or corrupt hal.dll" error message.
Follow these easy steps to restore the damaged/corrupted or missing hal.dll file from the Windows XP CD using the Recovery Console.
expand d:\i386\hal.dl_ c:\windows\system32
Using the expand command as shown above, d represents the drive letter assigned to the optical drive that your Windows XP CD is currently in. While this is most often d, your system could assign a different letter. Also, c:\windows represents the drive and folder that Windows XP is currently installed on. Again, this is most often the case but your system could be different.
If you're prompted to overwrite the file, press Y.
Take out the Windows XP CD, type exit and then press Enter to restart your PC.
Assuming that a missing or corrupt hal.dll file was your only issue, Windows XP should now start normally.