我有一个运行 Windows Server 2012 R2 的 Windows Azure VM,它自 2016 年 4 月以来一直无法安装更新。控制面板中的“查看更新历史记录”屏幕列出了数百次连续尝试在每台机器上安装更新的失败重新开始。
每个更新的详细信息窗口类似于:
Windows Server 2012 R2 更新 (KB3133690)
- 安装日期:2016-04-25 10:34
- 安装状态:失败
- 错误详细信息:代码 800F0922 获取有关此错误的帮助
- 更新类型:推荐
安装此更新以解决 Windows 中的问题。有关此更新中包含的问题的完整列表,请参阅相关的 Microsoft 知识库文章以获取更多信息。安装此项目后,您可能需要重新启动计算机。
更多信息: http: //support.microsoft.com/kb/3133690
帮助和支持: http: //support.microsoft.com
(像往常一样,“获取有关此错误的帮助”链接是无用的,它会打开一个 Windows 帮助和支持窗口,该窗口仅显示“正在获取搜索结果...我们找不到任何结果。这里有一些可以尝试的方法:”。啊,
Windows 事件日志中也充斥着如下事件:
- 日志名称:系统
- 来源:WindowsUpdateClient
- 事件编号:20
- 级别:错误
- 用户:系统
- 操作码:安装安装失败:Windows 无法安装以下更新,错误为 0x800F0922:Windows Server 2012 R2 安全更新 (KB3159398)。
应用程序事件日志包含更多有用的信息:
- 日志名称:应用程序
- 来源:Windows 错误报告
- 事件编号:1001
- 级别:信息
- 用户:N/A 故障桶,类型 0 事件名称:WindowsUpdateFailure3 响应:不可用 Cab Id:0
问题签名:P1:7.9.9600.18235 P2:800f0922 P3:BA0F75FF-19C3-4CBD-A3F3-EF5B5C0F88BF P4:安装 P5:202 P6:0 P7:0 P8:AutomaticUpdatesWuApp P9:{7971F918-A847-4430-9279-E4 P10: 0
附件:C:\Windows\WindowsUpdate.log C:\Windows\SoftwareDistribution\ReportingEvents.log C:\Windows\Logs\CBS\CBS.log
这些文件可能在此处可用:C:\ProgramData\Microsoft\Windows\WER\ReportQueue\NonCritical_7.9.9600.18235_(已编辑)
分析符号:重新检查解决方案:0 报告 ID:(已编辑)报告状态:4 散列桶:
服务器将重新启动以安装更新,然后立即停止并执行回滚,使正常重新启动持续 15 分钟以上。
日志文件C:\Windows\WindowsUpdate.log
没有产生任何线索——它没有报告任何明显的错误或警告——除了关于它无法使用计量连接 API 的过多消息:“警告:无法从 NLM 获取网络成本信息,假设网络不是计量,错误 = 0x80240037"。
该C:\Windows\SoftwareDistribution\ReportingEvents.log
文件仅包含与 Windows 更新控制面板相同的文本:“内容安装安装失败:Windows 无法安装以下更新,错误为 0x800f0922:Windows Server 2012 R2 安全更新 (KB3162343)。”
最后,C:\Windows\Logs\CBS\CBS.log
是一个 180MB+ 大小的文本文件,我浏览了一下,但找不到任何明显的东西。
TL;博士:
清除您的
C:\Windows\Temp
目录和其他临时目录以获得良好的措施 - 然后它应该可以正常安装更新。解释:
由于这是一个 Azure VM,因此可以使用 Microsoft 的“基本”支持层 - 需要 3 天才能安排电话,但支持人员今天才找到解决方法。
在
CBS.log
文件中,他发现了这一行(由我修剪和整理):重要的是这个错误:
他指示我更改默认环境变量:
TEMP
并TMP
在 System 和 User 定义中更改为C:\TEMP
并确保Everyone
hasFull Access
toC:\TEMP
。重新启动后安装的阻塞更新没有任何进一步的问题。
安装好这些更新后,我删除了原始 C:\Windows\Temp 目录中的所有文件(这花了 5 多分钟,有很多深度嵌套的文件)。然后我将 TMP 和 TEMP 环境变量重置为
C:\Windows\Temp
并重新启动。然后准备好安装两个新更新,并且安装完成,没有任何问题。
所以我认为问题是临时目录中的错误数据阻止了更新做任何事情。
2017 年年中更新:我最近在 Windows 10 笔记本电脑上遇到了类似的事件,错误代码相同。我立即前往该
C:\Windows\Temp
目录,发现里面有很多文件(大约 16,000 个文件和文件夹),其中也包括深度嵌套的文件夹。在我删除目录中的所有内容并重新启动后,我能够再次安装更新。我能够通过增加分配给系统保留分区的大小来解决这个问题。
在文件中搜索所有“错误”实例
%windir%\Logs\CBS\CBS.log
,我发现以下条目:在 Google 上搜索此错误消息时,我发现了以下线程,其中建议潜在问题是系统保留分区没有足够的可用空间来安装更新,并且可以使用MiniTool 分区向导免费增加它: