为什么Microsoft Windows Update需要这么长时间才能安装?

我有一个问题与我所遇到的问题无关。 只是我想了解的东西。

为什么Windows更新这么久? 第一次Windows更新需要find你需要的女巫更新,这大约需要5分钟。 那五分钟内发生了什么? 我会认为这将足以将您已有的更新与完整的更新列表进行比较,或检查一对夫妇文件的版本号。

然后,当安装升级时,他们也花了很长时间。 大约1 MB更新需要2,3或5分钟安装。 什么花了这么久。 我会虽然它只是一个备份旧文件,解压新文件,replace旧文件的mater。 这应该是非常快的。 Windows正在做其他事情吗?

为了比较,在Linux下,你可以在20秒左右find你需要的更新,安装它们通常是非常快的(解压缩文件的时间)。 我可以在大约25分钟内完成我的Linux机器的更新(下载600-800 Mb的更新,数百个并安装它们),而在Windows下25分钟的时间是需要find女巫更新需要和安装约5 -10更新。

我刚刚更新了Windows XP家庭从SP1a到SP3 +所有其他更新。 我花了3个多小时。 在Linux World中做类似的事情大概需要30分钟。 我不想在这里抨击微软。 我真的很想知道他们做了什么不同的事情,这使得这么长时间。

因为Windows是一个完整的一体化解决scheme,并且Linux将所有的部分分解。

Windows需要检查相当多的微软细节(DirectX,Office,Windows,Windows Media Player等等),以及它们如何互动,以及哪些版本与哪些版本兼容。 我们不要忘记,有些更新是推出的,所以它们包含其他更新。 有些更新可能因为任何原因而单独安装,如果发生这种情况,则必须遵循不同的升级路线。

也许你正在更换一个10meg的文件。 也许你在区分它,只是改变了几行,但它必须parsing所有…

简而言之,他们必须处理整个操作系统。 Linux只是内核 – 而GNU是用户空间。 每个工具只依赖于自己,所以他们很容易更新自己。

Windows的较新版本(XP +)至less在更新会话开始时创build一个还原点,有时在下列某些更新之前再次创build一个还原点。 这增加了一个很长的“它正在做什么”types的暂停。

也许试试在系统还原closures的情况下进行下一轮更新,如果你敢的话! 🙂

另外,如果您在执行更新之前手动创build还原点,则可能会稍微缩短等待时间(但是会延长整个过程)。

apt-get这样的软件包pipe理器是build立在依赖关系的基础之上的,而你的sources.list将你从老版本和发行版整齐地分离开来。 在Linux领域并不总是这么简单,这是肯定的。

Windows Update是一种经过深思熟虑的方式(很像很多Windows组件),因此需要进行大量的validation和validation,以确保事情不会中断。