http://www.dll-files.com/dllindex/dll-files.shtml?hal
Place a blank diskette in the floppy drive of a working computer, open My Computer, right-click on the floppy drive icon, select "Format...", then select "Create an MS-DOS startup disk".
After you create the startup disk, if there's enough room on it, copy the hal.dll file directly onto it. If there isn't enough room, place the hal.dll file on another floppy disk.
Insert the MS-DOS diskette into the other computer, bootup, and at the prompt type "A:". This should change the prompt to "A:>".
Now put it the other disk and type in either "copy A:\hal.dll C:\Windows\System32" or "move A:\hal.dll C:\Windows\System32".
If you can't bootup from the floppy diskette, try going into your BIOS and changing the boot sequence so that the A: or Floppy drive is the first bootup device. To get into your BIOS, tap either F2 or F3 at startup.
If that fails to work
If you have the Windows XP CD, insert it into your CD drive and restart the computer. When you see the following screen, hit "R":
The screen should switch from blue to black, and you should be asked which installation to log into. Select the #1 installation (it should be listed as 1: C:\Windows) and hit enter. Next it'll ask for your administrative password. By default it's blank, so just hit enter and move on. Next you should get the C:\Windows> command prompt. Enter in the following commands:
Attrib -H -R -S C:\Boot.ini
DEL C:\Boot.ini
BootCfg /Rebuild
Fixboot