This weekend we had an electricity inspection so all equipment in the office needed to be powered down. Fast forward a few hours after I had gracefully shutdown all the servers and network devices, the inspection was complete and it was time to power everything back on again.

So I started to power on the virtual machines one by one in the correct sequence and once I thought I was done, I took a little break.

I come back and try to log-on to the vCenter server via vSphere but nothing’s happening. Try logging on to CRM and getting a 500 error. Hmm… something with the SQL server maybe?

So I try to remote desktop in to the SQL server but can’t get through. Well, these machines are running on slow hardware and Windows Servers in general take a while to boot so let’s log-on to the host and view the console window just to see what stage it’s at!

So I log-on to the host, right click the SQL server VM and click to view the console. BLUE. Blue everywhere. PROCESS1_INITIALIZATION_FAILED?! I haven’t seen that one before.

Did some Googling and found a Microsoft KB article that suggested something about a bootcat.cache file not being the right size or something. The suggested resolution to the problem was to apply the latest updates so the Server… Mm okay, how am I supposed to apply updates to the Server if I can’t boot in to it?!

Anyway, what I did was, turn off the server, mount the VM hard-disk in to another VM, remote desktop to the other VM and locate the hard-drive in Computer/Explorer.
Now locate the bootcat.cache file in %SYSTEMROOT%/Windows/System32/CodeIntegrity and delete it – the file should regenerate when you boot up the SQL server again.
Obviously you want to dismount the drive from the intermediate VM before you boot up the SQL Server otherwise you’ll screw yourself over.

If your server is not on a VM but on a physical machine, all is not lost (because you should still have a backup right?).

You should be able to boot in to a Live CD image (like Ubuntu or other variant) and browse the HDD on the machine to delete the above mentioned file.

Once you have your server all up and running again, snapshot it & do a back-up, run Windows Updates and apply all critical/important updates. Delete snapshot when done and hope you never come across another BSOD again!

Hope this helps!