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
1. Insert and boot from your WindowsXP 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.
Typically this will be #1
4. Type bootcfg /list to show the current entries in the BOOT.INI file
5. Type bootcfg /rebuild to repair it
6. Take out the CD ROM and type exit