We help IT Professionals succeed at work.

Windows XP PRO - hal.dll trouble

Frank DiPiazza
on
"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."

What can be done to correct this?  I've replaced the file.
Can the MBR cause this?

Can this be fixed, or am I looking at a reinstall of Windows.
Comment
Watch Question

BRONZE EXPERT

Commented:
How, PRECISELY, did you "replace the file"?  Did you just copy it from the installation disk, or expand it?  Be EXTREMELY EXACT in describing what you did.
Frank DiPiazzaPresident

Author

Commented:
Expanded from i386 in to C:\WINDOWS\SYSTEM32

EXPAND hal.dl_ \windows\system32\hal.dll

Still get the same error.  I also ran FIXMBR.

Dell computer with system recovery partition.
Boot.ini

[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(2)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(2)\WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect
BRONZE EXPERT

Commented:
Can you bring up recovery console from your WinXP install disk and run chkdsk /r c:   ?
SILVER EXPERT

Commented:
fdipiazza, there is many possibilities , could you provide some more details what has happened to get this problem in the first place?
Your computer was working then failed?

The only key I get from your comment is the two partitions>default=multi(0)disk(0)rdisk(0)partition(2)\WINDOWS
Are you dual booting?
You have windows on partition 2 instead of partition one?
---------------------------------------------------------
Or two versions of windows installed?
The Default boot.ini File
 If you have a single Windows OS installed, your original file should look similar to 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
 If you have two Window’s Operating Systems, it could look like this:
 [boot loader]
 timeout=30
 default=multi(0)disk(0)rdisk(0)partition(1)\WINNT
 [operating systems]
 multi(0)disk(0)rdisk(0)partition(1)\WINNT="Windows 2000 Professional" / fastdetect
 multi(0)disk(0)rdisk(0)partition(2)\WINDOWS="Microsoft Windows XP Professional" /fastdetect /NoExecute=OptIn
A typical BOOT.INI file:
---------------------------------------------------
Hal.dll is missing or corrupt
Windows\System32\Hal.dll missing or corrupt:
Please re-install a copy of the above file.
 This means the ARC paths in the [operating systems] section or the default entry in BOOT.INI is incorrect.
Double-check that multi() and disk() are both set to 0, and verify that rdisk(x)partition(y) points to the correct partition where Windows XP is installed.
Instructions on the correct configuration of boot.ini can be found here.
[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="Windows XP Professional" /fastdetect
multi(0)disk(0)rdisk(1)partition(1)\WINDOWS="Windows Server 2003" /fastdetect

Troubleshooting XP Boot Issues

EasyBCD  will rebuild the MBR and you can tell it which operating systems you want to boot to and what order to boot to them.
http://www.softpedia.com/get/System/OS-Enhancements/EasyBCD.shtml
IT Manager
SILVER EXPERT
Distinguished Expert 2019
Commented:
You need to re-install the OS as you cannot just expand hal.dll from the XP setup CD.

if booting from XP Setup CD to launch Windows Recovery Console and run a chkdsk /r command will not hep, you need to re-install the OS.

http://answers.yahoo.com/question/index?qid=20070513121907AAps1f5
Frank DiPiazzaPresident

Author

Commented:
No solution presented solved my problem. I had to reinstall the OS  :-(

Explore More ContentExplore courses, solutions, and other research materials related to this topic.