If you get an error regarding a missing or corrupt hal.dll file, it might simply be the BOOT.INI file on the root of the C: drive that is misconfigured.
Here's what to do:
1. Insert and boot from your Windows XP CD.
2. At the first R=Repair option, press the R key
3. Press the number that corresponds to the correct location for the installation of Windows you want to repair.
4. Typically this will be #1
5. Type bootcfg /list to show the current entries in the BOOT.INI file
6. Type bootcfg /rebuild to repair it
7. Take out the CD ROM and type exit