“hal.dll is missing or corrupt” and Internet Explorer 8

Got this error recently when trying to start your PC? Then read on.
Scenario
You turn your PC on only to find this error on your screen and Windows will not load, you may of also seen an error relating to a missing boot.ini displayed before this error.
Solution
This was a real pain, usually this could indicate either a bad hard drive / partition or you’ve been infected with a virus that has removed your boot.ini. But if it has only happened recently and you’ve also only recently installed Internet Explorer 8 then that may be your problem. Now Internet Explorer 8 isn’t the whole blame, it’s actually related to the Ask Toolbar. From a PC that i’ve recently had to fix I found that while you could get away with Internet Explorer 6 or 7 you could not go back to 8 without your boot.ini deleting itself. This apparently (from what i’ve read) is caused by the Ask Toolbar (i’m assuming an old version that doesn’t support IE 8) which conflicts with the Data Execution Prevention (DEP) feature of Windows (this may also occur with other toolbars so it’s worthwhile removing all of your extra toolbars through add/remove programs in the control panel) and causes DEP to delete your boot.ini file on every boot.
To fix this is quite simple, as explained above you need to remove any extra toolbars by uninstalling them through add/remove programs. This doesn’t help however if you can’t load Windows. So what you need to do is obtain (you might have received this with your PC) a Windows XP install CD. Then you boot to the CD, let it load and on the first screen where you get a choice of what you want to do you want to press “R” for the recovery console. Once this loads it will ask (if it found your XP install) which install to use, generally it’s number 1 (C:\Windows\). After this it may also ask for a password, if you haven’t set a password for the administrator account then just press enter. If all is good you should see “C:\” (without quotes).
Here type in “bootcfg /rebuild” (without quotes) and press enter, it will now search your hard drive for any Windows installations (this may take a while). After it’s found an installation it will ask “Add installation to boot list? (Yes/No/All)” type “yes” (without quotes) and press enter. Now it will ask “Enter Load Identifier”, here you can type in what you want the XP installation to be named, generally it’s “Microsoft Windows XP Home Edition” for Windows XP Home and “Microsoft Windows XP Professional Edition” for Windows XP Professional. Last question it will ask is “Enter Operating System Load Options”, here type in “/fastdetect” (without quotes) and press enter. You should now have a rebuilt boot.ini file and Windows should boot normally after you restart the PC.
Now you need to uninstall all toolbars for IE 8 (particularly the Ask Toolbar). After you’ve uninstalled all the toolbars it’s time to restart the PC, if you receive the hal.dll error again you will need to recreate your boot.ini once more (see above). Once Windows has loaded test your IE 8, if it works then try restarting the PC again, if all is good then you should see Windows loading again without having to recreate your boot.ini. If it’s still occuring then you may need to also uninstall your IE 8 and reinstall it.
Hopefully this has fixed the problem for you, otherwise it would be worthwhile to test your hard drive for any bad sectors or partition corruption. If you have another PC, doing a virus scan on the hard drive couldn’t hurt either.
Be sure to subscribe to the RSS feed for more tech tips, if you have any comments on what i’ve written be sure to post them below, even if you have your own tips on this topic post them as well, it all helps.

No problem =)
Many thanks, that worked a treat. The MS KB said nothing about the toolbar issue.