Tuesday, January 19, 2010

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

warning: This is admin system notes not for open publication

Case troubleshooting computer windows system 1
Windows XP Setup - Missing HAL.DLL

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


Many people (including me) have (had) problems with the file hal.dll when installing on a fresh new harddisk. The proposed solutions do not
work in this case because there is a dynamic drive overlay (ddo) installed. The solution is quite simple: remove first the ddo (for
example with Seagate's DiscWizard: http://www.seagate.com/support/disc/drivers/discwiz.html) and re-install windows xp.


Generalized information:

This situation occurs when setting up a dual boot situation with Windows 2000 and Windows XP (it may occur with other setups). After Windows XP's install routine has finished copying files, and is ready to boot to the GUI portion of SETUP, you may receive the above error.

One possible fix. So far, this has been traced to an incorrect BOOT.INI file. To gain access to the Boot.ini:

Go to Start/Run and type in: msconfig. Then go to the Boot.ini Tab. Or...Right click the My Computer icon/Properties/
Advanced/Startup and Recovery/Settings/System Startup/Edit.

How to Edit the BOOT.INI File in Windows XP
http://support.microsoft.com/support/kb/articles/Q289/0/22.asp

This user had 1 hard drive, partitioned into C and D drives. His BOOT.INI file looked like this: (the erroneous lines are in "blue")

[boot loader]
timeout=1
default=multi(0)disk(0)rdisk(0)partition(3)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(3)\WINDOWS="Microsoft Windows XP Professional" /fastdetect
multi(0)disk(0)rdisk(0)partition(1)\WINNT="Microsoft Windows 2000 Professional" /fastdetect

The 3 in the erroneous lines, above, points to the 3rd partition on the first physical hard disk. Since this user only had 2 partitions, this value was incorrect. Changing the value to 2, in both lines, allowed the user to complete Windows XP's setup.

The corrected BOOT.INI looked like this:

[boot loader]
timeout=1
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" /fastdetect
multi(0)disk(0)rdisk(0)partition(1)\WINNT="Microsoft Windows 2000 Professional" /fastdetect

HAL - Hardware Abstraction Layer

HAL is Microsoft's abbreviation for the Hardware Abstraction Layer, the technology and drivers that let the Windows NT, 2000, and XP operating systems communicate with your PC's hardware. HAL is one of several features--along with the NT file system (NTFS) that replaced the much less secure MS-DOS--that make NT-based operating systems more secure and reliable than Windows 95, 98, and Me.

HAL prevents applications from directly accessing your PC's system memory, CPU, or hardware devices (such as video and sound cards)--a method that can prevent many device conflicts and crashes. Unfortunately, HAL sometimes also slows or stops DOS games and programs, which need to load their own memory managers or control hardware directly for better performance.

With HAL in the way, developers must rewrite or even abandon their older software in favor of newer, HAL-compatible versions. Microsoft has pressured hardware makers to provide or support technologies such as MMX, DirectX, and 3D graphics language OpenGL, all of which allow fast but indirect access to the advanced high-performance features of video, sound, and CPU hardware. Such access also makes for a better visual experience when using Windows for Web and productivity applications; improved graphics performance is evident all over Windows XP's new user interface.

XP also offers some new compatibility-mode features that let you run programs meant to run under earlier operating systems, but, frankly, most DOS-based and even some Windows-based games simply won't work with the new OS.

Tip: To see which HAL is currently installed, open Device Manager, and expand the Computer branch. The entry that
appears in this branch corresponds to the currently installed HAL.

Situations in Which Windows May Not Start in Safe Mode
How to Troubleshoot Hardware Abstraction Layer Issues
How to Move a Windows XP Installation to Different Hardware
Setup Error Msg: Cannot find file: \Windows\System32\hal.dll

HAL.DLL is Missing - Updated by MVP Alex Nichol

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.

TIP: Recovering Windows XP using the Recovery Console

Update:

Shaun Gray (3/2005) states:

Let me review my experience / problem with hal.DLL with you all:

I Received a computer with win XP home sp2 that after uninstalling IML4, and Installing IML5, and rebooting. (IML being Imesh light)
Computer displayed windows root\system32\hal.dll is missing or corrupt, please re-install.

NO MODES would boot from advanced boot options
Only bootable option was from CD
Repair console would not EDIT system from OEM XP HOME CD
FixMBR did not solve anything
Bootcfg /list, bootcfg /rebuild did not solve anything
Fixboot did not solve anything

Solution Option 1 wouldn’t work with multi attributes with out “|” in between them. ******
Solution Option 1 didn’t solve anything, except inadvertently adding a second OS to boot.ini
Solution Option 2 was unusable with OEM XP HOME SP2 CD.
Solution Opt 2 with XP PRO SP2 Integrated CD “Functioned”, but was "unable to expand file"

REINSTALLING WINDOWS IS NOT AN OPTION.

Final Solution:

Removed hard drive from system.
Added Hard drive to a 2nd WORKING XP PRO System. As Slave on Cable select.

***(all references to “D:\” are the Slave Hard drive damaged windows)***

Booted system and enabled - Explorer\tools\folder options

Display contents of system folders.
Show Hidden Files and Folders.
UN-check Hide Protected OS Files.

Go to “D:\” open Boot.ini in NOTEPAD, remove the Extra OS’s added with option 1.
Close and Save changes to Boot.ini

Go to “My Computer” Right click on “D:\” select SEARCH “D:\”

Search “All or Part of the File Name” = “hal”

Hal.dll may or may not be found in “D:\WINDOWS\System32” either way it’s no good.
A working copy of hal.dll WILL be found in “C:\WINDOWS\ServicePackFiles\i386”
COPY THAT FILE “D:\WINDOWS\ServicePackFiles\i386\hal.dll”
And Paste it to “D:\WINDOWS\System32” folder; if it asks to overwrite say YES.

You may now un-do the changes made to Explorer\tools\folder options to RE-Hide files.
Shut Down the computer.

Remove the 2nd Drive and reinstall it to its own tower as Master.

You should Now be able to boot the computer up as if nothing ever happened.

With the exception that it will prompt you to reinstall some drivers, Just say YES and let it auto detect …THEY ARE ALREADY THERE. And will setup fine.

This "FIX" assumes that the computer in question HAS at ther very least service pack1, if not service pack 2.

If these patches have NOT been installed , I dont belive any such Reserve copy of hal.dll will wxist on the drive!

No comments:

Post a Comment

free counters

LinkWithin

Related Posts Plugin for WordPress, Blogger...