Link to home
Start Free TrialLog in
Avatar of Danbrasco
Danbrasco

asked on

Error Message: Cannot find \Windows\System32\hal.dll

Hi,

I received this message on one of my Windows XP PCs when booting up. This was after I attempted to send a large print job to our printer and the PC crashed.

I tried to boot from a XP CDROM to run a repair but could not. I therefore decided to move the drive to another PC as a slave and see if I could transfer the file across that way. The drive appeared under my computer as an extra drive but an error message appeared saying it was not formatted.

What could be the problem here?
Avatar of jss1199
jss1199

Hi Danbrasco,

You have a couple of options to repair:

Option 1:

Boot from your CD and follow the directions to start Recovery Console. Then:

Attrib -H -R -S C:\Boot.ini
DEL C:\Boot.ini
BootCfg /Rebuild
Fixboot

Option 2:

Boot from your CD and follow the directions below to start Recovery Console.

Insert the Setup compact disc (CD) and restart the computer. If prompted, select any options required to boot from the CD.
When the text-based part of Setup begins, follow the prompts; choose the repair or recover option by pressing R.

If you have a dual-boot or multiple-boot system, choose the installation that you need to access from the Recovery Console.
When prompted, type the Administrator password. (if you didn't create one try pressing enter).

At the system prompt, type Recovery Console commands; type help for a list of commands, or help commandname for help on a specific command.

Most likely you will need to expand the file from the CD. The command would be expand d:\i386\hal.dl_ c:\windows\system32\hal.dll. Substitute d: for the drive letter of your CD. Once you have expanded the file type "exit" to exit the Recovery Console and restart the computer.  



Cheers!
http://support.microsoft.com/kb/330184/en-us

"Invalid Boot.ini" or "Windows could not start" error messages when you start your computer
View products that this article applies to.
Article ID      :      330184
Last Review      :      June 2, 2004
Revision      :      1.0
This article was previously published under Q330184
SYMPTOMS
When you start your computer after you upgrade to Microsoft Windows XP, you may receive one or both of the following error messages:
Invalid Boot.ini
Windows could not start because the following file is missing or corrupt:

Windows\System32\Hal.dll
CAUSE
This issue may occur if the Boot.ini file is missing, damaged, or contains incorrect entries.
RESOLUTION
To resolve this issue, start the computer from the Windows XP CD, start the Recovery Console, and then use the Bootcfg.exe tool to rebuild the Boot.ini file. To do this, follow these steps:
1.      Configure the computer to start from the CD-ROM or DVD-ROM drive. For information about how to do this, see your computer documentation, or contact your computer manufacturer.
2.      Insert the Windows XP CD-ROM into your CD-ROM or DVD-ROM drive, and then restart your computer.
3.      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.
4.      When you receive the "Welcome to Setup" message, press R to start the Recovery Console.
5.      If you have a dual-boot or multiple-boot computer, select the installation that you have to use from the Recovery Console.
6.      When you are prompted, type the administrator password, and then press ENTER.
7.      At the command prompt, type bootcfg /list, and then press ENTER. The entries in your current Boot.ini file appear on the screen.
8.      At the command prompt, type bootcfg /rebuild, and then press ENTER. This command scans the hard disks of the computer for Windows XP, Microsoft Windows 2000, or Microsoft Windows NT installations, and then displays the results. Follow the instructions that appear on the screen to add the Windows installations to the Boot.ini file. For example, follow these steps to add a Windows XP installation to the Boot.ini file:
a.       When you receive a message that is similar to the following message, press Y:
Total Identified Windows Installs: 1

[1] C:\Windows
Add installation to boot list? (Yes/No/All)
b.       You receive a message that is similar to the following message:
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. This is either Microsoft Windows XP Professional or Microsoft Windows XP Home Edition.
c.       You receive a message that is similar to the following:
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.
9.      Type exit, and then press ENTER to quit Recovery Console. Your computer restarts, and the updated boot list appears when you receive the "Please select the operating system to start" message.
MORE INFORMATION
For additional information about the Bootcfg.exe tool, click the following article number to view the article in the Microsoft Knowledge Base:
291980 (http://support.microsoft.com/kb/291980/) A discussion about the Bootcfg command and its uses
For additional information about the Recovery Console, click the following article numbers to view the articles in the Microsoft Knowledge Base:
289022 (http://support.microsoft.com/kb/289022/) How to edit the Boot.ini File in Windows XP
307654 (http://support.microsoft.com/kb/307654/) How to install and use the Recovery Console in Windows XP
Avatar of Merete
a simpler attempt to fix this
set the computer to boot from cdrom first
press any key choose R
when it gets to which windows use this cmd prompt
type in chkdsk /r press enter

once it has finished
type in fixboot C: press enter
take out the xpcd
type in exit press enter
windows will reboot
you have two choices here tap f8 continuosly enter advanced options screen
 and choose last known good config that worked
or allow windows to reboot.
Or enter safemode
if prompted for a password just press enter to bypass
once in desktop r/click my computer
properties advanced  startup and recovery settings edit
any words following>> the /fastdetect xxxxx     take it back so that it ends with /fastdetect  and save changes
reboot.

Avatar of Danbrasco

ASKER

Thanks for your comments.

Surely doing the things above would not work if the drive is not formatted?

What do you think?
ASKER CERTIFIED SOLUTION
Avatar of Merete
Merete
Flag of Australia image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Hi Merete,

I can't run chkdsk because the PC just reboots continuously.

What do you think is causing the drive to say it is not formatted.

thanks
Take out the disk and put it in another pc as second disk, that way you can perform a checkdisk ot the disk.
How big is your hdd  how many partitons on one HDD? If you have many partitions and one fails could be the cause.
How big is your power supply? WATTS I mean. If you only have 350W It might not be enough to power large HDDs preventing a show up under Windows..
It may show up when you first bootup the PC. Also if the PS is okay then check your IDE Ribbon cables for color changes. They don't last forever. You might have to replace them also.


One thought when you put the hdd to slave have you moved the pin on the rear? please check the in on rear of hdd is in correct position.
Not cable select.

Danbrasco  have you set your bios to boot from cdrom drive first boot? Press del  at the boot  look in your bios for the boot order, you should see hdo cdrom floppy choose the very first one highlight it using the up dwn arrow keys change it to cdrom. then 2nd change it hdo. press f10 to save and exit put the xpcd in the rom drive before closing bios.
when it reboots press any key.
to start recovery?
some steps to stop rebooting, unplug any and all external devices printers video cards modems network cards dual ram sticks remove one. slave hdd.

I will keep thinking this is just crash for now but there are some serious malware out there that can destroy the HAL and kill a hdd.
Rebooting is one effect of either faulty hardware even other than hdd or failed slave hdd. But usualy it means the HAL is gone.
HAL hardware abstraction layer
Missing Windows hal.dll file
The missing or cannot find hal.dll, \windows\system32\hal.dll, or \winnt\system32\hal.dll error message may be experienced on a Microsoft Windows 2000 or Microsoft Windows XP system when the boot.ini becomes corrupted or when a user is attempting to dual boot a computer.

Solution:

Verify that the computer boot.ini is present and not corrupted

Verify the boot.ini file is found on the computer by using a boot diskette or use your Windows CD to get to the MS-DOS "C:\>" prompt. http://www.computerhope.com/boot.htm
From this prompt edit the boot.ini, verify that it is pointing to the correct operating system, and that no anomalies are found within the file. Additional information about editing the boot.ini as well as additional information about its available options can be found on document CH000492.http://www.computerhope.com/issues/ch000492.htm
 Below is a listing of what to verify
If only one operating system is on the computer verify that the boot.ini only has one operating system listed. In some situations an alternate configuration line may be added for the same operating system, leaving the improper line.
Verify that the "default=" line as well as the operating system line are the same and that they are pointing to the correct operating system.
Verify that the computer has the hal.dll file

From the MS-DOS "C:\>" prompt quickly determine if your computer has the "hal.dll" file by typing "dir hal.dll /s" at the prompt. If the computer returns a "File not found" message, the hal.dll has been deleted.

To recover this file boot the Windows operating system CD and choose the option to "restore", "repair", or "recover". This option will prompt you for the Windows installation to use, the administrators password and will allow you to restore the proper file. At the MS-DOS prompt type the below command.

expand x:\i386\hal.dl_ y:\windows\system32\hal.dll

In the above example "x" would be the letter of your CD-ROM drive and "y" the letter of the drive your operating system is installed on. If you need to determine the drive letters of your devices type "map".

Additional information about the expand command can be found on our expand help page.http://www.computerhope.com/expandhl.htm

Reinstall the operating system

If the boot.ini is found on the computer and does not appear to be corrupted and/or if the hal.dll file is missing it is recommended that you reinstall your Windows operating system.

Additional information about erasing everything and starting over can be found on document CH000186. http://www.computerhope.com/issues/ch000186.htm