I had really a tough time today…I start my day and happen to hear that there is W32 virus around on my network and we were able to traceout and excluded the infected machine.

And then I had to install Norton Internet Security on my machine to check if i was infested and I ran the setup and it asked for restart and there it goes…whooooop

I see that my boot.ini is sc****d up and also file called hal.dll is gone bad too and then I had to get back to my DOS days and had to pull out Hiren’s Boot Disk 6 and then started to play around. After a long try, it din work…then had to Google hal.dll and came across a good fix for this problem on about.com site.

How do I repair a missing or damaged hal.dll error message?

The cause of this error message can be varied. A major virus or malware infestation can lead to this error. Installing and/or uninstalling software that is spyware laden, such as so many peer to peer (P2P) file sharing programs, or a faulty hard drive can also lead to this error.

Recently, one of my clients came to me with this problem. The computer that I had just upgraded for him the week before will not start. All he got was the error message: Windows could not start because the following file is missing or corrupt: /system32.hal.dll

In this case it was a combination of events that led to this error.

he most common causes of this error are:

  1. A missing or corrupt boot.ini file
  2. A missing or damaged hal.dll file

What is the boot.ini file and how do I repair it?

This is the file that is used that identifies the location of Windows. It is a hidden system file located in the root partition of the primary hard drive (C). It identifies which hard drive, which partition on the drive and the folder where Windows is installed.

The steps to repair a missing or corrupt boot.ini file are:

  1. Insert and boot from your Windows XP CD.
  2. When you receive the “Press any key to boot from CD” message, press a key to start your computer from the Windows XP CD-ROM.
  3. When you receive the “Welcome to Setup” message, press R to start the Recovery Console.
  4. Press the number that corresponds to the correct location for the installation of Windows you want to repair, typically this will be #1.
  5. Type bootcfg /list to show the current entries in the BOOT.INI file. At this point you may get a message telling you that the boot.ini file does not exist. The next step will correct this error.
  6. Type bootcfg /rebuild to repair it. This will scan your hard dives for installations of Windows XP, 2000 or NT and display the results. Follow the on-screen instructions to add your Windows installations to the boot.ini file. Those step will be:
    1. Total Identified Windows Installs: 1
      (1) C:\Windows
      Add installation to boot list? (Yes/No/All)
      Type y and hit enter
    2. Enter Load Identifier
      This is the name of the operating system. When you receive this message, type the name of your operating system, and then press ENTER.
    3. Enter OS Load options
      When you receive this message, type /fastdetect, and then press ENTER.Note: The instructions that appear on your screen may be different, depending on the configuration of your computer.
  7. Take out the CD ROM and type exit.

What is the hal.dll file and how do I repair or replace it?

HAL is an acronym for hardware abstraction layer. The hal.dll file is a Windows NT file that is used by windows when communicating with your computer’s hardware. It enables hardware from different vendors to allow them to accept a common set of Windows commands. If it is missing Windows will not function.

In situations where it has become damaged, either from virus activity or hardware failure, it may be necessary to replace it with an undamaged copy. Here are the steps necessary to replace the hal.dll file with an undamaged copy from the Windows CD:

  1. As above, insert and boot from your Windows XP CD.
  2. When you receive the “Press any key to boot from CD” message, press a key to start your computer from the Windows XP CD-ROM.
  3. When you receive the “Welcome to Setup” message, press R to start the Recovery Console.
  4. Press the number that corresponds to the correct location for the installation of Windows you want to repair, typically this will be #1.
  5. At the command prompt type: expand d:\i386\hal.dl_ c:\windows\system32\hal.dll. (where d: is the drive letter of your CD and c:\windows is the location for your Windows installation folder.) If prompted for permission to overwrite an existing version of the hal.dll file select yes.
  6. Once you have expanded the file type “exit” to exit the Recovery Console and restart the computer.

In rare cases this will not replace the hal.dll file. In those cases you have three choices.

  1. Remove your hard drive and install it in another computer with the same OS as a slave or D drive, so that you can copy an undamaged hal.dll file from that system to your hard drive. In this case Hal.dll may or may not be found in: D:\WINDOWS\System32 but regardless if found it will need to be replaced. A working copy of hal.dll will be found in: C:\WINDOWS\ServicePackFiles\i386. Copy that version of the file to: D:\WINDOWS\ServicePackFiles\i386\hal.dll as well as the D:\WINDOWS\System32 folder; if it asks to overwrite say YES.
  2. Perform a repair installation of Windows.
  3. Reformat and perform a complete installation of Windows.



17 Comments to “Fix for a missing hal.dll file in Windows XP”

  1. Luis | May 23rd, 2006 at 2:09 pm

    Hello Shyiam,

    How can I get a copy of your suggestion to fix Hal.Dll problem.

    I would appeciate any suggestions.

    Luis

  2. HardwareBG ôîðóì - boot.ini | June 4th, 2006 at 4:36 pm

    Kramer auto Pingback[…] 10x! Ilko óñïÿõ äà èçêàðàì áóóò ìåíþòî, íî êàòî ïîñî÷åõ äà çàðåäè ïî-ñòàðîòî ÕÏ (è ïðè ìåí å äÿë 4) ñå ïîÿâè ñëåäíîòî: missing hal.dll ðåäàêòèðàõ boot.ini áëàãîäàðåíèå íà òàçè ñòàòèÿ, ñàìî òîâà ïîìîãíà. […]

  3. teamextreme | June 28th, 2007 at 9:27 pm

    The easiest fix for this is to have a dual boot system. For me I’m dual booting Windows 2000 Pro and Windows XP MCE. I got the missing hal.dll error on XP and trying Microsoft’s knowledge base suggestion did not help. I resolved this going into Windows 2000 open up the command prompt and created a new folder called test on the C:\ drive. From the command prompt I did the expand command to extract the hal.dl_ file from the Windows XP CD. It copied the file to the directory c:\TEST\ (expand command didn’t work when I tried this from the Recovery console as described in Microsoft’s KB suggestion). After copying the file to the ‘Text’ directory in 2000 I moved the file over to my System32 folder on my Windows XP partition. Rebooted. Windows XP booting back up. It took about 5 minutes to load everything back up, it seems that hal.dll file holds driver information.

  4. DLL Konig | July 24th, 2007 at 2:28 pm

    Ouch…. and Sorry…. lol

  5. moses | August 29th, 2007 at 6:26 am

    i copied a winlogon file from another computer to my hard dsik and it was able to start loading properly without any problems

  6. Alfred | October 10th, 2007 at 1:54 am

    awesome guide man
    was trying to fix my frnds comp with the hal problem
    had to do a bootcfg /reload (din knw about it)
    thanks a lot again

  7. Hal.Dll Error - Dogpile Web Search | October 19th, 2007 at 4:39 pm

    Kramer auto Pingback[…] and … http://www.the-pc-guru.com/Missing_or_corrupt_haldll.php [Found on Yahoo! Search] 62. Fix for a missing hal.dll file in Windows XP How do I repair a missing or damaged hal.dll error message? The cause of this error message can […]

  8. Website Templates and Web Design, Graphic Layouts | October 26th, 2007 at 11:37 pm

    Website Templates and Web Design, Graphic Layouts…

    Sorry, it just sounds like a crazy idea for me :)

  9. Computer Security Tips | October 30th, 2007 at 5:10 pm

    Computer Security Tips…

    I couldn’t understand some parts of this article, but it sounds interesting…

  10. Free Software Downloads | November 19th, 2007 at 6:39 pm

    Free Software Downloads…

    I couldn’t understand some parts of this article, but it sounds interesting…

  11. Allen | December 30th, 2007 at 12:27 am

    Thank You for the web site. Followed your instructions and it got my computer back up and running ..

  12. Problème avec les antivirus et les périphériques de l'ordi | February 22nd, 2008 at 6:54 pm

    Kramer auto Pingback[…] of Windows.   3. Reformat and perform a complete installation of Windows.Source : http://www.shyiam.com/archives/13Moi je te propose maintenant une réparation. Tu connais ? Ça ressemble beaucoup à une installation […]

  13. Jessie | April 11th, 2008 at 1:47 am

    Hope u can help.

    1.My desktop running on windows XP can’t be rebooted, even with the recovery CDs. Of the 5 CDs, after the 1st is done, got a “Recovery finished” statement.

    2.Upon enter, got “windows cannot start because file is missing/corrupt : \system32\hal.dll

    3.When I pressed F8 to get to SAFE MODE with DOS, was unable to get to DOS prompt.

    Greatly appreciate your help !

  14. Jessie | April 11th, 2008 at 2:14 am

    sorry, please refer to this email address instead. Earlier one was wrong.

    Jessie

  15. file hal dll | May 5th, 2008 at 3:47 am

    […] file called hal.dll is gone bad too and then I had to get back to my DOS days and had to pull …http://www.shyiam.com/archives/13Missing Windows hal.dll fileAdditional information about th emissing windows hal.dll file error. … […]

  16. harvey fixx | August 24th, 2008 at 7:33 pm

    After going thru the steps, Recovery Console reports “acess denied”.
    I aso tried copying hal.dll from a working XP comp to a floppy and copying into the System32 folder on the non-working XP disk ( in slave mode as a “D” drive) and I get “cannot create file or folder.”)
    It just won’t seem to let me copy the file any way!
    The file is completely missing from the bad XP disk. Any ideas?
    HF

  17. Missing hal.dll - Eniro | September 4th, 2008 at 4:00 am

    Kramer auto Pingback[…] Shyiam.com » Blog Archive » Fix for a missing hal.dll file in … […]

Poke your nose here(comments)

*
To prove you're a person (not a spam script), type the security word shown in the picture. Click on the picture to hear an audio file of the word.
Click to hear an audio file of the anti-spam word