I have been daily driving a dual booted laptop for the past two years. After a year of distro hopping I settled with fedora + kde and never looked back. I really liked the auto nvidia driver config and it made everything so pleasant to work. Since the last 8 or 9 months I decided to do gaming using bottles and proton ge. I cannot afford to buy games and bottles is a God send at that. Now I realized that I had not logged into my windows partition in over 6 months. So I logged in to check and it told me it needs to download 8 gigs of updates. That sent me into rage and so clean installed everything to be fedora. I have 250 gb of storage locked in limbo because of windows( I have a 512 gb ssd so it was a lot) and today after everything was setup, the os took only around 20gb minus the games. Never felt happier.
It wasn’t the fact that I got updates that bothered me. It’s the fact that this update will take up more space on my disk and not replace previously occupied 8 gb that irked me. Some how, the space occupied by windows jut keeps on increasing.
Windows keeps update files around fir quick reverts. If you use automatic BTRFS snapshots, you’ll see a similar effect, though those snapshots are stored in the file system rather than encoded in a WinSxS folder. I believe the standard cleanup timeout is about 30 days, but it’s been a while since I used Windows.
These diffs are especially big on full version upgrades (i.e. the update to 22H2) which aren’t given that much special attention I the update UI but are very much like an upgrade from Fedora 38 to Fedora 39, or Ubuntu 22.04 to 24.04. It probably doesn’t help that Windows explorer doesn’t understand hard links, so Windows Explorer will claim the Windows folder will take up several times the real size on disk while the hard links are all over the place.
The worst part is that even Microsoft’s own cleanup tools get confused and remove too many of these files. I’ve had to do system restore because cleanmgr decided to remove 10GB of “old Windows Update files” that turned out not to be old enough to just remove. I may prefer Microsoft’s solution to DLL hell over Linux’s because old stuff will work for longer, but if their own software can’t deal with the resolving complexity, maybe they should take a step back and figure out how to make their solution stable.