本文修复了安装累积更新时收到错误0x800F0831的问题。
原始产品版本: Configuration Manager(当前分支),Windows Server Update Services原始 KB 数: 4477073
症状
尝试安装Windows更新(尤其是累积更新)时,会在WindowsUpdate.log收到以下错误消息:
致命错误:CBS 调用时出现错误 0x800F0831
当无法访问Microsoft更新时,更有可能发生此问题。
此外,你会收到类似于 CBS.log中的错误消息:
存储已损坏,包缺少清单文件:<Missing_Package> 无法解析程序包 <Missing_Package> [HRESULT = 0x800f0831 - CBS_E_STORE_CORRUPTION] 由于包而标记存储损坏标志: <Missing_Package> [HRESULT = 0x800f0831 - CBS_E_STORE_CORRUPTION] 无法解析包 [HRESULT = 0x800f0831 - CBS_E_STORE_CORRUPTION] 未能获取下一个包以重新评估 [HRESULT = 0x800f0831 - CBS_E_STORE_CORRUPTION] 无法执行执行链。 [HRESULT = 0x800f0831 - CBS_E_STORE_CORRUPTION] 无法处理单阶段执行。 [HRESULT = 0x800f0831 - CBS_E_STORE_CORRUPTION] WER:正在为程序包 <Failed_Package> 生成故障报告,状态:0x800f0831,故障源:执行,初始状态:暂存,目标状态:已安装,客户端 ID:DISM 程序包管理器提供程序
注释
<Failed_Package> 表示无法安装的包。 <Missing_Package> 表示清单缺失的包。
原因
出现此问题的原因是无法安装的更新需要以前更新包的清单。
解决方案
若要解决此问题,请使用以下方法之一。
方法 1:使用 DISM 命令修复组件存储
若要使用 DISM RestoreHealth 命令修复组件存储,请执行以下步骤:
-
打开提升的命令提示符并运行以下命令:
DISM /ONLINE /CLEANUP-IMAGE /SCANHEALTHDISM /ONLINE /CLEANUP-IMAGE /CHECKHEALTHDISM /ONLINE /CLEANUP-IMAGE /RESTOREHEALTHSfc /Scannow -
重启设备。
方法 2:使用部分已安装组件的安装包内容手动修复
- 转到 Microsoft 更新目录。
- 在**“搜索**”框中,输入Missing_Package>的<包 ID。
- 在搜索结果中找到适用于操作系统的更新,然后选择“ 下载 ”按钮。
- 在“Microsoft更新目录”窗口中,选择要下载更新的文件链接。
- 完成下载过程后,选择 “关闭 ”。 然后,可以在指定的位置找到包含更新包的文件夹。
- 打开该文件夹,然后双击更新包以安装更新。