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:
- Get to the recovery console (instructions here).
- Type bootcfg /default and press enter. Wait for the process to complete.
- Type fixboot and press enter. Wait fro the command to complete.
- Reboot your computer (type exit in the recovery console) and see if the error has been corrected. If not, continue on.
- Return to the recovery console.
- 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.
- If oyu are prompted to overwrite the file, press Y.
- Restart the computer (type exit at the recovery console).
- 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