That could be caused by exactly what it says: hal.dll is missing or corrupt. Couple other things can cause it as well. A mismatched ntoskrnl.exe, hal.dll or a couple others. The two most common causes are
1. A security update that went awry due to a 3rd party app, invalid setup.log file etc.
2. A corrupt drive.
First boot to recovery console and check to see if hal.dll is actually present on your system. If it's missing, grab a copy from c:\windows\servicepackfiles (don't get it from your CD unless you update all hal related files at once)
If you recently applied a security update, roll it back from recovery console to get booting then reapply (call MS for free if it fails again)
If you didn't apply any updates recently then boot to recovery console and run a chkdsk /p