Whenever I try and boot my computer I get the error message: "<windows root>\system32\hal.dll is missing or corrupt. Please reinstall it." - or something along those lines.
I've trawled through the internet looking for solutions. I initially tried just repairing the installation of the OS, as I have done numerous times in the past. This option actually wasn't available to me, my only option was for a complete format or to go into the recovery console.
I've tried various commands in the console but none have worked for me.
Here's the solution that I followed:
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 ©. 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.
The rebuild command came up with an error message due to a corrupt file system.
Next I tried this:
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.
Doing this lead to the message - 'There is no CD or Floppy disk in the drive', when the recovery disk was.
If anyone can point me in the right direction with this problem it would be greatly appreciated. A complete format of my hard drive isn't something I want to resort to just yet.
Thanks.