- Boot to the Windows recovery console
- get to the proper drive (usually is c:)
- type attrib -H c:boot.ini enter
- type attrib -R c:boot.ini enter
- type attrib -S c:boot.ini enter
- type del c:boot.ini enter (you are deleting the boot.ini this is normally the reason for the corrupt hal.dll)
- type bootcfg /rebuild fixboot
After the fix runs reboot and everything should be fixed. When I first did this I ran into an issue where I got an error “can fixboot on a corrupt registry” I ran and chkdsk /r after that completed I ran step 7 again and everything worked fine.
I have also heard an alternative solution fix this issue in the recovery console do the following command
Expand D:I386HAL.DL_ c:WINDOWSSYSTEM32HAL.DLL
I have never tried this method so I cannot prove it works but if your issue persists it might be worth a try. If you get an “access denied” do the attrib command to the HAL.DLL file that might help you. Again I have not tried this method just giving suggestions.