Windows – hal.dll missing or corrupt

You can not get Windows because of the following error:

 HAL.DLL missing or corrupt 

 Windows Could not Start Because the Following file is missing or corrupt: Windows \ System32 \ Hal.dll 

 Windows could not start because the following file is missing or corrupt: Windows \ System32 \ Hal.dll

The problem is not the DLL but BOOT.INI (mostly).

First method

  • Start computer with a boot disk (if you do not have one you can have one of
  • Access the command prompt.
  • Enter the following commands:


 edit boot.ini

You can get to BOOT.INI. By default it looks like this:

  [Boot loader]
 timeout = 30
 default = multi (0) disk (0) rdisk (0) partition (1) \ WINDOWS
 [Operating systems]
 multi (0) disk (0) rdisk (0) partition (1) \ WINDOWS = "Microsoft Windows XP Professional" / fastdetect

The error is in most cases the partition number is indicated (this often occurs after installing a second operating system). Change partition (1) to partition (2), and if it still does not work, change still figure until you come across the right one. If you do not want to repeat several times Boot.ini, copy the entire line after [operating systems] and change the number in each, you just need to try different options available to you at the next startup.


  • Copy the entire line even after [operating systems] and add after / fastdetect: / safeboot: minimal / sos / bootlog
  • Change the name of the option for “Safe Mode”

You now have an option in the menu that allows you to access safe mode without having to weigh the F8 key during startup.

Second method: Rebuild the boot.ini in the absence


  • Start the installation CD of Windows XP
  • Choose the repair by pressing R
  • Indicate the number of the Windows installation and then press Enter
  • Enter the administrator password and then ENTER again (if none, then do it directly)
  • Type bootcfg / rebuild
  • Enter the number corresponding to the desired installation or “o” if you agree with that proposed
  • “Enter Load Identifier” appears, type what you want (if the boot.ini is missing, the name will not appear at startup)
  • “Enter the options …”, leave blank, no option to add
  • Type exit to end and restart the pc



  1. Rahat says:

    I really like it. That’s awesome article you posted about dll not found problem. I will come back to read some more. ..thanks a lot

  2. Emmanuel says:

    HAL stands for Hardware Abstraction Layer. hal.dll is built dirung normal installation, by Windows Setup, after probing your hardware. Major changes to hardware will invalidate hal.dll, and you need to perform a Repair Install to create a new one appropriate for your hardware. See instructions at the following link:Update: i cant get to the windows folder other computer just trys to load then i get the error message i dont even get to the windows XP loading screen just to my dell loading screen then i get the error message. That’s the normal behavior dirung start up when the HAL.dll that is loaded does not match the hardware probed as the machine boots up. Without a proper HAL, the kernel has no way to talk to the hardware to do I/O, send video, or operate RAM reliably. Thus, it’s a fatal blue screen error for Windows machines.You have to do a Repair Install from a Windows CD to recover the installation. A Repair Install jacks up the current software installation, re-probes the hardware, builds hal.dll with references to the appropriate drivers for hardware detected, installs the relevant kernel for dual core or multiple CPUs if they are found, and cleans up the registry, while invalidating previous System Restore points, and setting a new one. The current software installation is then set back down on the new HAL.dll, so to speak, with all user accounts, data files, programs, and features intact and operable on the new hardware. It is a reliable and straight forward procedure.Sorry that you don’t have a Windows CD.

Leave a Comment