Being an SSD early(ish) adopter in my work laptop I’ve had my fair share of problems but as everything seemed to have settled down recently and particular after upgrading to Windows 8, I thought I’d go back to encrypting the disk. I know this comes with a performance hit but using Bitlocker in Win 8 it wasn’t too noticeable and the fact it could encrypt both of the disks in the laptop with a single password at boot it was finally becoming usable. I mention the encryption because I suspect this is responsible for the amount of corruption that was caused by a sudden blue screen, or should I say far-from-smilie face in Win 8.
Since Windows 7, this laptop has been rock solid, I don’t change drivers frequently but do stay reasonably up to date, I apply windows updates but try to do them on a clean boot and check things have bedded down nicely. I keep on top of what’s running with fairly brutal use of msconfig and this has served me well for ages but on this particularly morning, mid key press in Word or something similar it just went, frowned at me and rebooted. After that, it was just an endless series of “unmountable boot volume” messages.
Here some frustration with Win 8 kicks in, I didn’t have a boot disk as I was at work, yet the option to repair has completely gone, even from the screen that offers to boot into safe mode. Apparently you need to have booted Windows to enable the repair option on boot! Of all the stupid things to do, come on MS, have a key press like F8 that can boot from a tiny repair image or similar, I don’t need a menu or a significant delay because I’m happy to hammer an F key to get the timing right if I’m in trouble. Not even on the “sorry it looks like your computer is knackered, try safe mode” menu which would have made sense.
Anyway, once I’d built a boot disk and got into repair mode I did the first check which was a chkdsk (without repairs) on the SSD. This has happened to me before and although SSDs don’t have sectors, no one seems to have told the OS that and it had multiple bad ones, in fact it was one of those chkdsk funks that suggest a very long wait for it to do not much. Previous experience trying to repair the disk using chkdsk had led to me almost throwing the SSD away, it will not do the job full stop in my experience, it just can’t get it’s head around it not being a spinning platter.
What I found last time was the only way was to clone the disk to another device (ignoring errors for which I use HDClone pro which is quick and always does the job) then clone it back. I know this is expensive in terms of write cycles but it seems to be the only way to get the SSD firmware to sort out it’s bad blocks (which aren’t even blocks, sectors or bad in fact). With that done, I then ran chkdsk with repair as I had a copy anyway and it found a load of errors, patched them up and booted windows, hurray.
Boot into windows and run an SFC /SCANNOW to see what damage has been done and it turns out .NET 2 is broken, a number of dlls corrupted and the store for those dlls also corrupted. No I’ll digress for one moment more. Why the hell are dlls getting corrupted MS, they should not be open for write surely, how can they therefore get corrupted. When they do, how is it that the stored copy in winsxs is also corrupted? I realise my understanding of the innards of Windows is far from complete (very far I’d imagine) but that just seems crazy to me.
I’ve been here before too, fixing someone else’s laptop that had .NET corruption and corrupt store. No amount of scanning and interrogating the CBS.log got that one fixed as it was Windows Vista and failed to come back. Imagine my surprise after a while on a popular search engine!
This Microsoft article says it all, Windows 8 has two simple command line actions, one to diagnose and one to repair that can go online and patch things up. Personally I think SFC should have done this, and better still, it should have had a user friendly GUI as if I was not a geek I might have thrown this laptop out of the window before finding the solution.
So here’s the commands
DISM.exe /Online /Cleanup-image /Scanhealth
followed by
DISM.exe /Online /Cleanup-image /Restorehealth
All is now well until the next failure!
PS I’ve taken encryption off, I know it’s naughty and I could get sued but it just doesn’t work well with SSDs