On Slackware the upgrades usually work fine when you follow the documented procedure. If you have some manual kernel/critical services customizations you manually adapt them according to documented changes in the behaviour of the standard components (e.g. making sure udev runs at next boot instead of hotplug, tmpdevfs and such). You can even upgrade the whole OS while using it from a full X and KDE desktop session. So there is basically no downtime.
Most likely you are a suse user - there the linux partition was activated and grub was installed into partition. That works until you try to install a service pack. All you need to do is to install grub into the mbr and set the partition active with the Boot/BCD directory. When you do uefi installs this does not matter btw. but bios updates can kill custom (lets say non-ms) uefi bootloader entries, Win is usually autodetected in that case.
I wish the windows file system structure was a bit more KISS and windows would allow a bit more manual fixing.
I have been running the same archlinux installation for approximately 4 years on the fourth computer now with one failed (and of course fixed) migration from 32 to 64 bit now. And it's not a trivial installation, it's a fucking mess.
What do you do in windows if windows doesn't work anymore? It reboots into the boot assistant and checks for erros. I personally have never seen it find any error. But what then? Even editing the registry offline is a challenge...
This usually happens when you use multiply harddrives. Win has got the curious "feature" that when you install it creates 2 partitions, one 100 (now 300) mb partition for the Boot/BCD dir and the other is for Win itself. You can usually only select the second one, but the tiny one is usually created on the biggest drive with at least one primary partition left. I could only recommend that you remove all other hd when you want to install Win so that both partitions are created on the same drive. Noob users fail often when they wipe out the hd which the bootloader and then say update-grub does not detect Win. It can not be detected because the bootloader is missing. If you know what you do you can recover from that state as the bcd can be created with all Win installs added from a Win install media in command line mode (shift-f10) - minimal instructions:
a) Wipe out grub - in theory optional - but usually done
b) Create bootloader (Boot dir)
c) Add win boot entries:
It's no huge surprise that multi harddisk systems fail to upgrade (especially with multi os) as the Boot dir does not get always detected (needs to be active). It is even more critical when you have added a differnet hd with an extra win install, then you have got more than one -> solution, only use 1 hd for win installs (and tried upgrades) and be sure that the partition with the win bootloader is active. Btw. if you change the uuid of the harddisk then this will render Win unbootable as well. This usually does not happen with grub, but efibootmgr -w has got a bug that always overwrites the uuid on mbr systems (only fixed in u 12.10). It happend for me with grub 2.00 from Debian experimental as well - with a system that usually boots via mbr for Win and gummiboot.efi for Linux. But grub 2.00 detected efi boot and installed it into efi - and killed my hd uuid. Here is how i recovered it:
I must say that in general windows does actually "just work" a lot more often than various Linux distros in my experience.. oh and that osx too.
And I use a Linux desktop about 70% of my time. The other 30% are mostly Windows and I can't remember the last time I needed to "fix windows". Something I do monthly on Linux at the minimum. No thanks to stuff like systemd, dbus, pulseaudio, network manager and other horrible software ;-)