You probably don't want the hal.dl_ file from the XP installation CD and here's why:
When XP gets installed, it selects and expands the proper hal.dll from seven possibilities of compressed hal.dll files on the installation CD:
HAL.DL_
HALAACPI.DL_
HALACPI.DL_
HALAPIC.DL_
HALMACPI.DL_
HALMPS.DL_
HALSP.DL_
Each one of those can expand into a hal.dll file, so if it is your intent to replace your hal.dll, you would have to either figure out or know in advance which one is the right one for your hardware, motherboard and CPU. If you just picked one at random, you
would have a one in seven chance (14%) of getting the correct one. Maybe you will get lucky.
If you just expand the hal.dl_ from the XP installation CD, that is the simplest, most generic of all the choices (probably not the right one).
The hal.dl_ file on the CD is the most boring of them all:
HAL.DL_
* Standard PC
That is a good choice for some virtual machines where there is no real "hardware" (like VMWare), but it is a very poor choice for most other environments.
You system may in fact boot with it, but you will be missing a lot of functionality that is built in to the other hal.dll files.
For example, if I wanted to replace the hal.dll file on one system here, I would need to expand this file:
HALMACPI.DL_
* Standard PC
* Advanced Configuration and Power Interface (ACPI) PC
* ACPI Multiprocessor
* MPS Multiprocessor
If I wanted to replace the hal.dll file on an older system here, I would need to expand this file:
HALAACPI.DL_
* Standard PC
* Advanced Configuration and Power Interface (ACPI) PC
* ACPI Uniprocessor
* ACPI Multiprocessor
If you check the Properties, Internal Name of the hal.dll on your working system, you can see which kind of hal.dll file you have and it is probably not going to be hal.dll.
If the thought is that you need to replace your hal.dll because your system was complaining that the hal.dll file was missing or corrupt, the message is usually misleading and the real problem is usually the boot.ini file and has nothing to do with the hal.dll
file.
Sometimes XP just can't find the file because the file system is corrupted and you just need to run chkdsk /r from the XP Recovery Console so XP can find the file again.
I would always start with a chkdsk /r first (it will not hurt to run chkdsk /r even if it finds nothing to do), then take a look at the boot.ini file.
This is also why when folks trying to help give you instructions to put in your XP CD and expand the hal.dl_ file to replace yours, it is generally weak advice from a well meaning novice. THe hal.dl_ file on the XP installation CD is the least likely to be
the right choice of the possible hal.dll files on the CD.
That kind of help is usually going to be very wrong - although it sort of makes sense at first and is "logical", but it will never work out favorably and that is generally not the problem anyway. You can learn about all the different hal.dll files on the XP
installation CD and then figure out which one is the right one for your system, but that file is probably not really missing or corrupt.
I have never needed to replace a hal.dll file to resolve this issue - that is never really the problem.