Technology Advice by Ryan Taylor Adams

How to Resolve the Missing Or Corrupt Hal.dll Error in Windows XP

December 13th, 2007 · 3 Comments · Printer Friendly Version


While I make an effort to update older posts to keep them relevant and technically accurate, the rapidly changing nature of the tech world makes it possible that the content of this post may no longer be relevant, current, or even accurate. Additionally, because of this post's age, adding new comments has been disabled. If you would like to contribute new information to this post, or have questions pertaining to this post, please use the Contact Form.

If one of the following error messages is displayed as Windows is booting up (before you see your desktop, but after the POST screen), you have a corrupt HAL.dll file:

  • “Windows could not start because the following file is missing or corrupt:
    <Windows root>\system32\hal.dll. Please re-install a copy of the above file.”
  • Winnt_root>\System32\Hal.dll missing or corrupt:
    Please re-install a copy of the above file.”
  • “Cannot find \Windows\System32\hal.dll”
  • “Cannot find hal.dll”

This problem is usually fixable, but it takes some work. TO fix the error, you will need access to a Windows XP installation CD. Once you have your CD handy, do the following:

  1. Get to the recovery console (instructions here).
  2. Type bootcfg /default and press enter. Wait for the process to complete.
  3. Type fixboot and press enter. Wait fro the command to complete.
  4. Reboot your computer (type exit in the recovery console) and see if the error has been corrected. If not, continue on.
  5. Return to the recovery console.
  6. Type expand d:\i386\hal.dl_ c:\windows\system32\hal.dll where d: is the drive letter of your CD-ROM and c: is the drive Windows XP is installed on.
  7. If oyu are prompted to overwrite the file, press Y.
  8. Restart the computer (type exit at the recovery console).
  9. The problem should be fixed.

3 responses so far ↓

  • 1 Manu // Oct 12, 2008 at 7:21 AM

    The solution looks great if you do have a XP install CD and a CD/DVD reader.

    In my case I had to change the drive(from a WD60Go to WD120G0) of my M200 and I did reapply the restore images but got that HAL issue and I can’t find a way to fix that.

    Ideas welcome

  • 2 Ryan Adams // Oct 12, 2008 at 10:38 AM

    @Manu: There are two important steps. You need to replace the hal.dll file with a known good version, and you need to rebuild the MBR. You could probably replace the hal.dll file by connecting the drive to another computer (perhaps with a IDE to USB adapter), but you will need to boot from a Windows CD to issue the fixboot command.

    Upon re-reading your message, it sounds like you were trying to upgrade to a larger hard drive. If that is the case you should use the restore CDs you have to install Windows on the old hard drive, then use a disk cloning program to clone that drive to the new hard drive.

  • 3 Manu // Oct 12, 2008 at 12:46 PM

    Yes I did upgarde the drive and I did use the ghost images to restore directly to the new drive.

    The HAL error came simply from a screwed up boot.ini.
    I figured this out based on your proposal of fixmbr, so thank you.

    Solved ;-)

  • 4 hony // Apr 19, 2009 at 11:31 PM

    nice information