Windows updates seem to require hours
"Similarly sized Windows updates seem to require hours - literally - of disk grinding. Why?"
A lack of PROPER write cacheing is probably a big part of it. Linux has an efficient journaling file system AND supports some pretty aggressive write cacheing, especially when you compare it to what Micro-shaft does [what I call 'paranoid' cacheing].
Second would be "the Registry" in general. What started out as a simple replacement for INI files [which it was better than, mostly] turned into "that" over a period of years, once OLE and "all of those embeddable things you will never use" and then ".Not" happened.
EVERYTHING I have seen in EVERY windows version that supports "the Registry" tells me that it's "paranoid cached" to the maximum possible extent; that is, it seems to physically RE-READ everything, even if no changes have been made, and appears to do a physical disk write EVERY TIME you change ANYTHING, even the most trivial thing. I could easily be wrong about that, having NOT seen the internals of it, but performance measurements SUGGEST that I am RIGHT about it.
If the registry were treated by the kernel like a transaction-based system, this wouldn't be a problem. it would act like EVERY RELATIONAL DATABASE does when you have simultaneous queries and updates. This kind of tech has been around a long time and MS has their OWN relational database to use as a clue on how to implement something like that.
But, NOOoooo... "the Registry" CONTINUES to be a road block for performance, BOTH READ AND WRITE performance, making application loading take longer, and making INSTALLS and UPDATES take longer, too.