Windows Update Screwed Me
Keeping Windows up to date is normally a good idea. Keeps your system secure and blah, blah, blah… Not such a good idea if you have a Lenovo X1 Carbon. I dutifully installed a recent update to have my laptop restart into a black screen. Computer on and apparently at the lock screen, but no display. Tried plugging in an external monitor, but still nothing. Windows update screwed me. I needed to roll back, but how? As far as Windows was concerned the update was a success. I’ve booted properly… can’t be an issue here. After spending a while researching the problem, it looked like the touchpad or display drivers getting updated were likely the issue.
Ok, let’s try safe mode, see if we can undo what’s been done from there. Do you know how you can get into safe mode in Windows 10 from boot… you can’t! (Well, you can, but it’s horrible. More on that in a minute.) There are a few ways to get into the recovery screen when booting Windows, but they all require you to have been able to boot up Windows in the first place, and select that you want to restart into safe mode! WTF. If I want to boot into safe mode, there’s a fairly good chance my computer isn’t running well enough for me to select any of the available options.
The Only Way
There is, however, one way of forcing your PC to boot into the Windows 10 recovery tools… forcefully prevent Windows from booting successfully… yep. That’s the only way.
Hold down the power button while Windows is booting, to force it to power off! Do this twice. The third time the PC starts, it’ll boot into the recovery tools.
I told you it was horrible. When Windows starts to boot, it sets a flag in registry. When it finishes booting, the flag is cleared. If this flag is already set when Windows starts to boot, it knows that it didn’t start successfully last time, and sets another flag (which would also be cleared after a successful start up). If this flag is still present next time Windows boots then it knows something’s up, and boots into the recovery screen.
Safe Mode’s Not The Answer
Looks like safe mode uses whatever driver was causing the problem, as when I booted from recovery into safe mode I still got a black screen. So I had to go through the whole, horrible, reboot-power-off-reboot process again to get back into recovery.
After trying a few more of the recovery options with no luck (the three different safe modes, going back to a restore point, etc.), I bit the bullet and selected Reset this PC. Reinstalled Windows. I selected to keep my files, so after an hour or so of reinstallation I was able to successfully boot into Windows and log in! Hurrah! On a side note, when selecting this option, Windows leaves you a nice little gift on your desktop…
Basically a ginormous list of programs for you to track down the installers for and reinstall. Nice though. Certainly better than nothing. All my code’s in git, pushed to here, there and everywhere, so no worries there. All my tools are gone though.
So now I was faced with something of a dilemma. I obviously need to update Windows at some point, so this is just going to happen again, is it not? Not if I can prevent it. Turns out you can prevent Windows from updating your hardware drivers:
Control Panel -> System and Security -> System -> Advance system settings -> Hardware -> Device Installation Settings -> No!
Thank God for Google.