Windows 10 forced update sucks

I have written about Windows 10 before. Also about Windows 8.1, which is the predecessor in (diabolic) spirit. I was never impressed by Windows 10 and I guess it’s not going to change. Sure, Windows 10 has a very stable kernel, but the decisions — in particular to try and unify the user interface across different platforms with different input methods — are pretty questionable. And whoever, like myself, thought the start menu just couldn’t possibly get any worse after Windows 7, 8 and 8.1 was in for a big fat surprise. While the switch to that new unified input scheme started with Windows 8, in Windows 10 it still isn’t finalized. After all why else would I sometimes get to see the ugly black and white user interface for PC Settings, the one optimized for touch-based input, but in many other places it just pops up the good old GUI from the control panel. This just doesn’t fit together. Besides, no Windows version has been as patronizing as Windows 10. One nightmare scenario is still when I install SumatraPDF to replace Edge as PDF viewer and add a whole lot of other supported file formats and Windows happily hands me one toast notification after another, telling me it reverted my explicit choice. Heck, I get it, perhaps you — Microsoft — screwed up in the past and that whole thing should be a more conscious choice on part of the user. But perhaps, then, you shouldn’t prompt me yet again if I really want to use SumatraPDF and not Edge, after I explicitly configured the default program association for PDF and other files. If you make me go through hoops, don’t question my decisions once again afterwards. If I say I want SumatraPDF, I don’t want a prompt when double clicking a PDF next time around.

Anyway, I run a secondary Windows installation with Windows 10, with the other two operating systems installed being Windows 7 and Linux (Linux Mint in particular).

Now with Windows 7 users kept a minimal level of control over the Windows update process. That control has to be foregone when switching to Windows 10 ((Very little can be done by way of group policy settings to counteract the insane Windows defaults, and only on sufficiently high editions of Windows.)). Luckily I only run Windows 10 as a secondary system and for fun stuff (i.e. games). Another nightmare scenario if that Windows 10 will decide when it reboots to install its updates. Got a lengthy job running? Don’t worry, Windows will gleefully decide you didn’t actually want to run that lengthy job while logged on and having your screen locked. Windows will simply decide that if you don’t respond to its prompt about rebooting to install updates, you aren’t opposed to the reboot. Silence means consent. Of course it does, why wouldn’t it? Are you actually insane Microsoft? How am I supposed to trust my system any longer if it can’t do the one thing I expect of the operating system: stay out of my way!?! If your oh so smart OS can’t figure out that I am running a several GiB download and some other stuff I decided to leave running overnight, perhaps you shouldn’t default to the most intrusive setting: rebooting when the system is locked but unattended. And I’m a system developer, I know that Windows programs can detect if they’re running on a locked window station! So don’t tell me this is impossible. That reboot dialog could quite simply detect the scenario in question and skip the reboot.

Now, since the January updates got offered, Windows keeps pestering me with installing the respective update packages. Unfortunately it fails every single time to install at least one particular package. And to add insult to injury it doesn’t just take very long — after the reboot initiated by the update process and preceded by this …

Windows update: undoing changes during system start

… the whole thing starts over again. Meaning that without special steps I can’t even boot into a functional system anymore, because Windows will simply keep itself in a boot loop.

Best Windows ever … hah!

Oh and when Windows starts installing its updates it looks really promising, too. Although I found it odd that the X in “of X” steps varied between 5 and 7 overall steps.

Windows update: installing features

Windows update: stage 5 of 5, 15% progress

Now, how did I get out of the boot loop? I decided to use a standard method on an offline installation image, meaning I booted into the rescue system with command line prompt, looked which drive letter had been assigned to my system drive and then ran dism /image:X:\ /cleanup-image /revertpendingactions in order to be able to boot into the desktop again.

Since I ran dozens of instances of that boot loop, I also tried renaming the SoftwareDistribution folder in order to move it out of the way. None of that helped and sfc /scannow as well as dism ... /cleanup-image /restorehealth didn’t yield any better result or a hint at the cause either.

After that I turned — at the advice of a good friend — to this Microsoft article on “How to temporarily prevent a Windows Update from reinstalling in Windows 10”. What worries me is the use of temporarily as that basically means I can only hold off the problem for so long, before I am back to square zero.

Well, let’s see for how long that update can be kept at bay. But I already fear the Fall Creators update (1709) which begs for more problems, given how I installed my Windows 10. For starters I insisted on installing the system and BCD store (along with boot manager) on the same single partition and furthermore the already installed Windows 7 uses a similar method. So the in-place upgrade of Windows may end up incinerating my other Windows installation. Luckily I have backups ((let’s hope they’ll work)).

// Oliver

PS: Here the event log entries from an attempt to resolve this whole thing … taking about half an hour:

  • System store corruption detection and repair has completed. Status: 0x0, Total instances of corruption found: 0, total instances of corruption repaired: 0.
  • Initiating changes for package KB4074608. Current state is Absent. Target state is Installed. Client id: UpdateAgentLCU.
  • Initiating changes for package KB4058258. Current state is Absent. Target state is Installed. Client id: UpdateAgentLCU.
  • A reboot is necessary before package KB4074608 can be changed to the Installed state.
  • A reboot is necessary before package KB4058258 can be changed to the Installed state.
  • A reboot is necessary before package KB4074608 can be changed to the Installed state.
  • Package KB4074608 failed to be changed to the Installed state. Status: 0x800f0922.
  • Package KB4058258 failed to be changed to the Installed state. Status: 0x800f0922.

The system partition has 100 GiB unused disk space.

This entry was posted in Administration, EN, Software. Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *