We help IT Professionals succeed at work.

Windows storage server 2008 failed to boot with hal.dll missed or corrupted maybe after windows update failed

Mattia Minervini
Mattia Minervini used Ask the Experts™
Windows storage server 2008 failed to boot with hal.dll missed or corrupted
this happens after maybe a windows update failed to rollback
tried all... ram, bios cmos battery, hard drive diagnostic.
tried starting with 2008 dvd anche chek for repair, installation is recognized but no automatic repair option available.
So from command line dos tried bootrec fixmbr and fixboot. rebuildbcd found 0 installation, so made command attrib to make visible then repeat rebuildbcd. nothing.
Sfc /scannow hangs starting, stopped on "start analysis..."
DISM in supported from 2008 r2, not 2008
Reading manually CBS log result failed installation of package 3 f KB2862335, then rollback and shutdown on 24 december, when server died.
file are accessible, a lot of boot file seems updated on 24 december.
Please help, now i'm remotely connected with Ilo2 and an installation dvd of windows 2008 r2 inserted
Ask me for details, i cannot format that server!
Watch Question

Do more with

Expert Office
EXPERT OFFICE® is a registered trademark of EXPERTS EXCHANGE®


other 3 info:
- during safe mode boot, it stops at once after written CI.DLL
- setting boot recording, in order to understand which driver cause hang, is no a solution...i cannot finf ntbtlog.txt
- chkdsk /r is completed reporting no error
Can you replace the file with one from a working server ? Maybe using the recovery console of a live cd ? A windows install cd should also contain the dll but i have no idea which .cab to dig into.

Hal is hardware abstraction layer. one of the first things that are loaded and most drivers rely on it so even safe mode probably wont do.

You can also consider to update windows from itself to the same version or attempt to repair using an install cd.


changed right now, same error.change only STATUS CODE but always Hal.dll error...
Where did you pick the dll from ? It needs to be the exact same version. I recollect there is a drivercache folder that mighg contain the last pristine version. Not sure where it is located, though...

Did you try the repair or self upgrade ?


automatic repair is not available. self upgrade ? what does it means?
insert the same OS installation dvd and re-install without formatting?
I meant use the upgrade or repair feature the installer should propose.

Reinstalling on top of the existing os should work but will trash registry settings. you would need to reinstall windows updates and most of the software. And might loose custom config options. That would be a last resort.

Updating to 2012 is probably less error prone should it come to extreme measures.
Distinguished Expert 2017

can you try to go back to a prior snapshot?
hal.dll is a reference to the type of system it has

run chkdks

how are updates installed, manually or automatically?
Did the system poweroff due to power loss?

try using the search option
while at the root of the c:\
dir hal.dll /s
see if you can locate a recent hal.dll and if not present in c:\windows\system32
copy a recent one to that location.

it should be of a larger size, 600k or so


i can't understand. sorry for my english
windows 2008 has no these features, and an OS in not like a common software you can make "repair"
thanks however

no snapshot, no recovery point, no backup
chkdsk made 2 times, without error

hal.dll is there, i changed 2 times

about update there's something strange, we remember manual but no one start it...
no power loss, there are other 2 server on the same ups outlet

i'm going crazy
Distinguished Expert 2017

Does one of the other system provide the functionality of this one?
Or do you need to transfer the data?

The Hal.dll might be there but is the wrong type for the system?

Which hp server is it by spec, do you have access to a similar?
32 or 64 bit install? C:\program files (x86) exists? If not, this is a 32 bit OS.


No, other server are different and make other service.
Hal seems fine, original is there (renamed by me) but at this point i think hal message is a false message...
Os is windows storage server 2008.
Server has 4 gb ram i think 64 bit but i can check
Distinguished Expert 2017

Esonething changed on the bios/uefi? Multi-processor...
The error code theta is displayed along with Hal.dll?


I've changed cmos battery, but same behaviour.
I can't understand "theta" really sorry.
Server is an hp proliant, age about 9 years.
It has an ilo2 , bios is not upgraded
Distinguished Expert 2017

Besides the error about Hal.dll, does it have an error code, or you effectively see a black screen Hal.dll issue.
Bootrec/bcdedit. Not clear whether it is trying to process an update ....

When replacing CMS, the bios settings reset, is that when the system started to have these issues? Try disabling hyper-threading if on, or enable if disabled.

Was the memory handling changed?
Hal.dll suggests either the wrong update ... Or something changed I on the bios that presents...


No no i replaced battery to solve the issue.
I'll try what you say
This is a known error which occurs when the signature of hal.dll is wrong. forget about hardware issues. If you need confirmation, boot a live cd. It will most likely boot properly, prooving to you the hardware is fine.

The dll needs to be the same one from the same os, same service pack, same whatever kb updated the dll...

There is a malware that corrupts the recorded dll signatures and would produce that exact same boot error after a random runtime blue screen. Not seen in about 8 to 10 years and can t remember much more.

There used to be an option in windows installer to repair existing installations. And also an option to update. i am  well aware an os is not a regular soft, and very sorry if ms removed said options, though i highly doubt it on server oses. should that be the case, you can  get lucky with the driver cache, or end up reinstalling completely.

Anyway, this is most likely software. The only possible hardware issues would be the disk drive if you are unlucky enough the exact sector hal.dll resides in broke, or possibly the ram, if you are unlucky enough hal.dll gets loaded in a faulty region. Other hardware issues including a faulty cmos battery would produce different symptoms.
Top Expert 2013

i suggest to update BIOS and drivers also
Given your updates, this should be easier

There is an advanced boot option that allows to disable drivers signature checks. Using this option will likely allow the server to boot. ( assuming the dll is not corrupt but windows believes it is because of some faulty update rollback )

Once the server is booted you'll need to complete the install or rollback of that kb and then reboot normally.


Tried disabling signature
Same result
Top Expert 2013

did you update bios and drivers?
given what you already  tried, it might be shorter to reinstall than make it work. i guess the file signature got corrupted during the failed update and rollback. there are obviously tools that will allow to edit the registry offline to stick in the appropriate signature... seems like going a long road, and that's assuming you have the adequate dll in the first place. the best bet was the dll from the drivercache. if that does not work, i do not believe anything simple will work.


Solved replacing hal.dll in system32 folder with the older founded under DRVSTORE folter, where ara stored primary drive and files replaced by update.
thanks for your support
server is started, with misconfigured update, but started
sorry i could not point out the name of the folder before.
i have not dealt with windows much in many years.
good to see you managed to get it straight.

you can safely assume the file was updated but the signature was not, or the reverse.
i highly suggest you finish either the install or the rollback properly before using that server again.
if needed, use "pendmoves" in order to assess the current partial installations statuses, before running the update and possibly again before rebooting.