hal.dll is the hardware abstraction layer, the error you are getting can actually come from a bad disk or a bad piece of hardware. Or if you recently installed a major system component like the motherboard. Bottom line is something on your computer is toast.