使用Windows更新Win2008R2 SP1安装多个更新时,更新通常会失败,但一次只能安装一次失败的更新

我更新了一大堆运行Windows 2008 R2 SP1的服务器。 有大约120个更新来安装。 我发现,如果我运行所有的更新,需要几个小时,然后失败,需要数小时支持的东西。

我开始小批量更新。 早先失败的相同的更新工作。 但有时小批量(5-10)错误…但如果我逐个运行更新,那么他们的工作。

错误代码是80070643.我可以发布windowsupdate.log,但我没有看到有什么其他有用的。

MS在这个( http://support.microsoft.com/kb/976982 )有一个KB,但我试图做他们的build议…起初似乎是要解决它,但后来我仍然遇到了错误一遍又一遍。

每个人都遇到这个? 当然其他人安装新的服务器,在Windows上重击,然后做更新。

我的更新来自我的本地WSUS服务器,但我不认为这很重要 – 我直接从MS服务器获得类似的麻烦。

也许这个http://support.microsoft.com/kb/947821可以帮忙?

它说: 修复Windows Update损坏错误,如0x80070002和0x80070057
Windows Update损坏错误阻止安装Windows更新和服务包。 例如,如果系统文件损坏,可能无法安装更新。 如果您看到的错误位于以下列表中,请尝试本文中的解决scheme。

经过大量的工作,与不同的人进行研究和交stream,以下是我find的作品和尝试过的概要。

  • 如果从未安装远程桌面服务,则从WSUS更新Windows 2008R2服务器不成问题。 例如,我能够从Windows 2008R2 SP1全新安装中更新2台已经设置为域控制器的服务器。 这需要应用大约150个更新。 花了几个重启,一切安装好。 一些失败,但他们没有出现之后,因为需要 – 所以他们被取代了其他更新的工作。

  • 安装了RDS的服务器基本注定要失败。 安装更新将是一个痛苦。 这里是一些MVP家伙的评论 。 但即使在单用户模式下,这也是一个痛苦。

RDS服务器需要特别处理补丁安装。 研究“修补terminal服务器”将在2005 – 2007年的时间框架内讨论关于WSUS v2的情况。 简而言之,您需要从RDS服务器中删除用户会话,并将服务器置于单用户模式,以成功安装这些更新。

因此,故事的寓意 – 当您计划build立RDS服务器,安装Windows 而不是RDS时 ,请执行所有Windows更新。 然后安装RDS并进行所需的更新。

而故事的第二个道理 – 定期更新RDS服务器,以便在几百次更新的手动安装之后,您不必忍受痛苦的几个月。

更多 – 后来

今天,我的团队发现了一些帮助 – 设置以下registry项:HKLM \ SYSTEM \ CurrentControlSet \ services \ TrustedInstaller \ BlockTimeoutIncrement更高的值(如36000)。 这也可以通过组策略使用“增加运行更新超时”来完成。

我们发现这是因为我们发现Windows更新日志说明更新已经超时,因此回滚。

通过设置,Windows Update可以在几个小时后完成安装并安装更新。

没有告诉我们为什么这么长时间 – 这仍然不正常。 但至less我们能够做到更新。

好像我们已经解决了! 我们开始得到我们的服务器上的其他错误,所有这一切导致发现pipe理员NTUSER.DAT文件是1.5GB,并使用大量的可用资源来加载registry文件。 这导致常规用户无法login(当pipe理员login时,基本上总是这样)。

无论如何,所以我删除了pipe理员用户的本地configuration文件,通过login重新创build它。 NTUSER.DAT小于1MB。

好吧,所以我们有一个想法 – 这可以解决我们的Windows更新问题…好像,似乎是这样。 现在,我们可以像在我们的非RDP服务器上一样安装Windows更新。

所以看起来像是因为pipe理员用户的registry变得臃肿,并且这是我们在进行Windows更新(或者安装Hot Fix)时所login的用户,所以安装时间太长,超时。