Installing Windows Update 3033929
The article Windows Update KB3033929 Update Loop contains the only two known solutions for this update loop.
Before starting, I suggest taking an image backup of the entire disk and verifying that you have the proper boot CD or USB required to restore it in case of catastrophe. I would suggest in the future to always take such an image backup before doing Windows Update, and leaving it in manual mode.
Easy case : Windows is installed on a separate disk
- Shutdown the computer and unplug the non-Windows drive, or if this is supported by the BIOS then set the boot disk to the one containing Windows.
- Reboot directly into Windows and install the KB3033929 update.
- Reboot again to configure the update.
- Once everything is installed and operating correctly, shutdown the PC and reconnect the Linux drive.
- Everything should be back to normal on your next reboot.
- If not, use F8 during Windows boot to boot into Safe mode and reset Windows Update to "Notify but let me download", or set this update to "Never show", in order to avoid installing it until Microsoft finally gets it right.
Hard case : Both Windows and Linux are installed on same disk
In this case you must replace the bootloader by that of Windows, let this update install itself, then return GRUB. The steps are as follows :
Boot from the Windows installation media and choose the Command Prompt repair option.
Type the following and press Enter:
Bootrec.exe /FixBoot
Then type and press Enter:
Bootrec.exe /FixMbr
Reboot straight into Windows (Grub is no longer there).
Install the problematic update and get Windows up and running correctly.
To get GRUB back, boot computer into a live Linux CD or USB and choose to "try" the OS.
Find out on which partition Linux is installed, perhaps by using the Gparted utility to find the root "/" partition. Let’s assume this is on sda1.
To mount that partition. Open a terminal and type and press Enter:
sudo mount /dev/sda1 /mnt
- Reinstall grub with the following command:
sudo grub-install /dev/sda –root-directory=/mnt
Remove the installation media and reboot. The Grub bootloader will only show the Linux installation.
To fix this, boot to the Linux desktop, open a terminal and run this command for it to pick up all available OS on the machine:
sudo update-grub
Reboot and you should now have Grub functioning and your Windows install as a bootable option.
If the above did not work for you, try the alternate method in the article Removing Linux Grub & Restoring Windows 7 Boot GUI. This article might also be useful : How to repair, adapt or remove the Grub boot loader.
If none of the above worked, restore the backup disk image and, sorry, you are now back to square one.
I know this post is pretty old by now, but hopefully this will save people a lot of trouble with this issue if anyone runs into it in the future.
There's a much simpler way to solve this when Windows and Linux are installed on the same disc, rather than going through all the effort listed in the "Hard case" answer (at least, in my experience).
Dual booting Linux (although I can't speak for all distributions, so this may not be true in some cases), on a Windows machine doesn't remove or affect the MBR on the System partition in any way. All it does is make it inactive and rather uses the GRUB boot loader partition as the active partition. So there's absolutely no need in messing with either boot loader, no need to have to rebuild any boot loader, no need for any of that complication. All that needs to be done to install this failed update is:
- Change the Windows System partition (usually the smallest partition, at 100MB) to active. This can be done through the Disk Management GUI if you can actually get into your Windows system, or you can do it through the Diskpart command prompt utility in repair mode with:
diskpart
select disk 0
(or whatever disk number Windows is installed on. You can find out using "list disk" without the quotes)select partition 1
(again, you can find the proper partition number by typing "list part" without quotes. the 100 MB partition is usually the Windows System partition)active
(this will activate the selected partition, subsequently making the GRUB partition inactive, since it will only allow for one active boot partition)exit
and restart the system, it should boot directly into Windows from the Windows boot loader
Install the update that caused the issue (usually KB3033929) and reboot Windows. It should install successfully.
Reboot into a command prompt and change the active partition back to the GRUB partition (usually no more than a few hundred MB's) similar to how we activated the Windows System boot loader at the start. Make sure you are choosing the correct partition number when doing this. Example of commands:
diskpart
select disk 0
select partition 3
active
exit
- Reboot the system. It should boot right back into the GRUB loader as it was before, with all of your OS options available. Check your Windows Updates and you'll see that all of your updates are installed successfully and your system should be running properly.
This solution took me less than 2 minutes to complete, and was incredibly simple. I hope it helps out others and saves people some time when running into these troubles.