[Webinar] Streamline your web hosting managementRegister Today

  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 1427
  • Last Modified:

hal.dll missing or corrupt in XP pro

Whenever I reboot XP Pro, I get a boot error that the hal.dll file is missing or corrupt and I need to reinstall it. I've tried that from the CD but still get the error.

---msdn article sez to remove hal.dll from my configuration, and to copy hal.dll, boot.ini, ntdetect.dll and ntldr from the run time image to the root directory of my target system's boot drive and to remove hal.dll and then add it again to the configuration--- what IS the run time image? The CD? I have 2 possible "operating" versions, HAL.DLL and hal.dll. Which is the correct one? See below for all 7 versions of the hal.dll file on my system. I'm confused with all the system patch versions.

I have a dual boot on 2 separate HDs, with Windows 98 on C:\ and XP pro on D:\, plus separate partitions for the swap, program files, and storage. XP provided the option, so I created 2 hardware configurations (1 for dial up modem, one for external LAN), plus I can chose which OS at boot, then which configuration. However, XP appears twice in the first OS selection list (which seems to prioritize itself differently with every boot), and the error occurs before it gets to the configuration choice (which are identical HW configs , I think, so I'd just as soon delete these 2 HW configs but don't know how/where to do so, esp. with this other problem).

I also have installed all of the many updates to XP (which might account for the multiple .cab files, as summarized below).

I also have a partitioned area for the swap file and lately memory is running low if I have more than 5 windows (processes) running.

Below is a summary of the locations/sizes/datestamps of the 6 hal.dll files on my machine. Isn't this an NT file? Why are there several NT (detect, etc) in the XP suite?  Which one(s) can I delete and which one(s) do I need to add?
C:\WINDOWS\SYSTEM\ATIR3HAL.DLL 86kb mod 4/23/1999 created 11/27/2002
D:\WINDOWS\$NtServicePackUninstall$\hal.dll 101kb mod 8/22/2001 created 11/28/2002
D:\WINDOWS\system32\hal.dll 101 kb mod 8/17/2001 created 11/28/2002
D:\WINDOWS\ServicePackFiles\i386\hal.dll  99kb 8/29/2002 11/28/2002
D:\WINDOWS\Driver Cache\i386\driver.cab\hal.dll 101kb m 8/17/2001
D:\WINDOWS\Driver Cache\i386\sp1.cab\hal.dll 99kb m 8/29/2001
D:\WINDOWS\ServicePackFiles\i386\sp1.cab\hal.dll 99 kb m 8/29/2001
1 Solution
I have a similar setup on my comp, only with Win2k and WinXP. When I first installed the winXP I had the same problem. I soon found, however, that the problem had nothing to do with hal.dll. Rather, the windows (2000 in my case, but any NT-based OS will react the same) OS that I was trying to load was not being found on the hard drive because of a misconfigured boot.ini file.

Here is an example of a boot.ini file:
[boot loader]
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /fastdetect
multi(0)disk(0)rdisk(0)partition(2)\WINDOWS="Microsoft Windows 2000 Professional

Here you can see that one OS is on a different partition than another(first OS is on partition 1 of Physiscal Disk 0)The numbers in parentheses tell the computer where the different OS's are located, so it can access and load them. This method of locating controller cards/hard drives/partitions is much more specific and accurate than using hard drive letters, because hard drive letters can be changed by one OS and not changed by another, thus leading to countless problems.

An excellent breakdown of these boot.ini files is located at http://www.microsoft.com/technet/treeview/default.asp?url=/TechNet/prodtechnol/winxppro/reskit/prmc_str_masc.asp


Also, there may be 2 boot.ini files(one for each system partition). I find it simpler to just make changes to both instead of finding which one is being used.

I hope this helps, and I'll be checking back here in case you have any more questions.

>Whenever I reboot XP Pro
you mean it doesn't do it on a cold boot, only a reboot?
If this is the case then it sounds like the second drive is not initializing on a reboot, check the cable, make sure it is seated tightly
also run the diagnostic program appropriated for the drive

is this a slave off the primary, or is it the secondary master, or secondary slave?
if secondary slave, try making it the secondary master, and slave the (I assume) optical drive
>>Why are there several NT (files)....?

XP is essentially NT 5.1.  It is built from the NT Kernel - that is why the core of the OS still uses NT components.
jenelle_aAuthor Commented:
JP (win2K) wins the 24K gold award. In the process I configured my DSL connection on Win 98, which took an additional 4 hours effort (something about 98/TCP/IP and USB contention(s).

The boot/reboot problem appears to have resolved itself, and I'll remove one of the partition selections for XP when I figure out which one works best.

For the other 2 honorable mentions, 0 points for there's no master slave setup: Win 98 is on C, XP is on D, two separate, independent HW devices; and 5 points for explaining that XP is the nXT version of NT.


Featured Post

Free Tool: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now