How To: Fix "missing or corrupt system32\hal.dll"
Applies to: Microsoft Windows NT, Windows 2000, Windows XP
Symptoms
When you start your computer, you receive an error message similar to one of the following:
- 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. - windows_root\System32\hal.dll missing or corrupt:
Please re-install a copy of the above file. - Windows could not start because of a computer disk hardware configuration problem.
Could not read from the selected boot disk. Check boot path and disk hardware.
Please check the Windows documentation about hardware disk configuration and your hardware reference manuals for additional information.
Cause
This error may occur because the file hal.dll is missing or corrupt, or because the system configuration has changed and Windows is looking in the wrong place for it.
Solution
The easiest way to fix problems with hal.dll is to use Spotmau BootSuite or Spotmau PowerSuite Golden. However, if your computer is using Windows XP and you have a Windows XP installation CD you may be able to boot from this and use the Recovery Console to fix the problem manually instead.
Use Spotmau BootSuite
- Insert the Spotmau BootSuite CD and start the computer. The main menu will appear.

- Click 2. Windows Recovery.

- When the Windows Recovery tool starts, click Windows NT/2000/XP/2003.

- On the Windows NT/2000/XP/2003 Recovery dialog, click Recover HAL and SYSTEM.

- On the Recover HAL and SYSTEM dialog, select your operating system (e.g. Windows XP) and then click Recover.
On successful recovery remove the Spotmau PowerTools CD from the drive and click Restart to reboot the computer.
Using the Windows Recovery Console
The Windows 2000 and Windows XP CDs supplied by Microsoft have a tool called the Recovery Console which can be used to repair errors that prevent Windows XP from starting using the command line. OEM versions of Windows XP, including computers that were supplied with Windows XP preinstalled, may not have this utility, so the following steps may not work:
- Insert the Windows CD and start the computer.
- When the Welcome to Setup screen appears, press R.
- Type a number corresponding to the Windows installation you wish to repair (usually 1) and press Enter.
- When prompted, type the administrator password and press Enter.
- At the command prompt, enter the following commands./ (The example commands assume that C: is your Windows drive. Change
the drive letter if appropriate.)
ATTRIB -H -R -S C:\BOOT.INI
DEL C:\BOOT.INI
BOOTCFG /REBUILD FIXBOOT - Remove the Windows XP CD from the drive and restart the computer.
If this does not resolve the problem:
- Repeat the instructions above to boot to the recovery console and log on as administrator.
- At the command prompt type the following command:
EXPAND D:\I386\HAL.DL_ C:\WINDOWS\SYSTEM32\HAL.DLL
Prevention
It's hard to prevent problems like this from ever occurring but regular and frequent full backups of the system are a good precaution that can make recovery quicker and easier.
A tool that will make recovery from this kind of trouble much easier is MagiCure Professional. It works by taking snapshots of the system at regular intervals and allowing you to restore them when a problem occurs. It runs before Windows loads so you can restore a good working system even if Windows won't start.