I’ve run into this quite a few times especially when I’m cleaning up and uninstalling unused or useless programs in Windows XP. There is only 1 major thing that you need so you’ll be able to fix this – your hard drive connected to a working operating system with internet connection. It doesn’t matter what it is – Windows, Linux, Mac(haven’t tried with this one though). The internet connection is needed for you to copy a hal.dll file from the world wide web. But if the operating system you’re working on is XP, then you’ll just copy the dll file off of the working one.
The file’s location is C:\windows\system32. Paste the working hal.dll file into that folder to replace the corrupted one. Once that’s done, shut down the computer and get it ready to boot up using your hard drive. If there aren’t any hitches, you’ll see a very primitive windows xp desktop. Here is where the internet comes in handy. It will automatically search for drivers online and update them. After that, you’ll be able to customize the desktop settings or any other hardware settings that you had before this problem. Now if you do not have internet, it’s a lot of work. You have to load the drivers using your hardware’s respective CD’s – assuming you kept them.
In my case, I had internet. And I also had a perfectly working Linux Ubuntu 8.04 on another drive and broadband internet. So that after replacing the corrupted hal.dll file, the rest was pretty much automated. Switching and connecting hard drive wasn’t fun especially because I had an old dusty sempron rig. But all in all, it was a valuable learning experience. I very much thank Ubuntu.com for supplying me with the free CD’s to get started in my Linux learning.
To sum this up, here’s what you need and what you need to do:
1)A working operating system – linux, mac, windows, it doesn’t matter as long as it can connect, read and write to your hard drive with the corrupted hal.dll file
2)Internet Connection – to download a copy of the hal.dll file and all of your hardware’s drivers. An alternative is having a copy of a working hal.dll file on a CD, flash drive, or if you’re running XP to fix this and you’ll also need your hardware drive CD’s handy.
3)Copy the working hal.dll file into the C:\windows\system32 folder and say “Yes” when if asks if you want to replace it and then boot up your hard drive.
4)If you have internet connection, you’ll just have to wait for XP to download all of your hardware’s drivers available online. On some rare occasions, some drivers may not be available online. When that happens or if you do not have internet, you will need to use your driver CD’s.
Hope this helps a little and good luck with your troubleshooting! (“,)
Edited 04/09/12: File host went kaput. Will give you guys another hal.dll download link. Check back later. This is due an update.
Added 04/10/12: Updated hal.dll download link here.
Updated 03/03/13: Updated hal.dll download link.