注:本文为 “Windows | 更新” 相关合辑。
中文引文,略作重排。
如有内容异常,请看原文。
修复 Windows 更新损坏及安装失败指南
一、概述
本文介绍使用部署映像服务和管理(DISM)工具,修复因 Windows 更新损坏导致的安装失败问题。
二、Windows 更新工作原理
(一)流程
-
扫描:Windows 更新 Orchestrator 随机检查更新服务器,评估更新适用性(基于发布者准则、组策略等),支持完全/增量、联机/脱机等扫描类型。
-
下载:确定适用更新后,通过传递优化下载文件至临时文件夹,由仲裁程序暂存。
-
安装:仲裁程序生成“操作列表”(包含所需文件及安装指令),提交给安装代理(如 CBS)执行安装。
-
提交:安装完成后自动重启设备(可通过组策略等配置重启时机),确保更新生效。
(二)关键术语
| 术语 | 定义 |
|---|---|
| 捆绑包更新 | 包含 1-N 个子更新的集合,无有效负载 |
| 子更新 | 被捆绑的叶更新,包含有效负载 |
| 检测器更新 | 仅含适用性规则的特殊更新,用于先决条件评估 |
| 完全扫描 | 使用空数据存储的扫描 |
| 增量扫描 | 基于缓存数据的扫描 |
| 联机/脱机扫描 | 分别依赖网络或本地数据存储的扫描 |
三、Windows 更新损坏常见错误代码
Windows 更新安装失败常与损坏错误相关,可通过安装程序事件日志查看。常见错误代码及说明如下:
| 代码 | 错误标识 | 说明 |
|---|---|---|
| 0x80070002 | ERROR_FILE_NOT_FOUND | 系统找不到指定文件 |
| 0x800f0831 | CBS_E_STORE_CORRUPTION | CBS 商店已损坏 |
| 0x8007000D | ERROR_INVALID_DATA | 数据无效 |
| 0x800F081F | CBS_E_SOURCE_MISSING | 找不到程序包或文件的源 |
| 0x80073712 | ERROR_SXS_COMPONENT_STORE_CORRUPT | 组件存储处于不一致状态 |
| 0x800736CC | ERROR_SXS_FILE_HASH_MISMATCH | 组件文件与清单验证信息不匹配 |
| 0x800705B9 | ERROR_XML_PARSE_ERROR | 无法分析请求的XML数据 |
| 0x80070246 | ERROR_ILLEGAL_CHARACTER | 遇到无效字符 |
| 0x8007370D | ERROR_SXS_IDENTITY_PARSE_ERROR | 标识字符串格式错误 |
| 0x8007370B | ERROR_SXS_INVALID_IDENTITY_ATTRIBUTE_NAME | 标识中属性名不在有效范围 |
| 0x8007370A | ERROR_SXS_INVALID_IDENTITY_ATTRIBUTE_VALUE | 标识中属性值不在有效范围 |
| 0x80070057 | ERROR_INVALID_PARAMETER | 参数不正确 |
| 0x800B0100 | TRUST_E_NOSIGNATURE | 主题中没有签名 |
| 0x80092003 | CRYPT_E_FILE_ERROR | Windows Update读写文件时出错 |
| 0x800B0101 | CERT_E_EXPIRED | 证书不在有效期内 |
| 0x8007371B | ERROR_SXS_TRANSACTION_CLOSURE_INCOMPLETE | 一个或多个事务成员不存在 |
| 0x80070490 | ERROR_NOT_FOUND | 无法搜索新更新 |
| 0x800f0984 | PSFX_E_MATCHING_BINARY_MISSING | 匹配组件目录存在但二进制文件缺失 |
| 0x800f0986 | PSFX_E_APPLY_FORWARD_DELTA_FAILED | 应用正向增量失败 |
| 0x800f0982 | PSFX_E_MATCHING_COMPONENT_NOT_FOUND | 无法识别用于冻结的匹配组件 |
四、Windows 更新故障分析与排除
(一)基础排查步骤
- 运行诊断工具:打开管理员命令提示符,执行命令:
Dism /online /cleanup-image /restorehealth
-
重启计算机:完成上一次更新的挂起操作,确保新更新可应用。
-
安装最新服务堆栈更新:参考最新服务堆栈更新,或在对应Windows版本更新历史中查找。
- ADV990001 - 安全更新程序指南 - Microsoft - 最新服务堆栈更新
https://msrc.microsoft.com/update-guide/vulnerability/ADV990001
- ADV990001 - 安全更新程序指南 - Microsoft - 最新服务堆栈更新
-
修复Windows文件损坏:详情见修复 Windows 文件损坏。
- 修复Windows 更新损坏和安装失败 - Windows Server | Microsoft Learn
https://learn.microsoft.com/zh-cn/troubleshoot/windows-server/installing-updates-features-roles/fix-windows-update-errors
- 修复Windows 更新损坏和安装失败 - Windows Server | Microsoft Learn
-
手动下载并安装更新:
-
访问 Microsoft 更新目录,搜索更新编号并下载对应系统版本的更新包。
- Microsoft 更新目录
https://www.catalog.update.microsoft.com/home.aspx
- Microsoft 更新目录
-
若需跳过适用性检查,管理员命令提示符中执行:
Dism /online /add-package /packagepath:<path_to_package> /IgnoreCheck
(二)常见问题及解决方案
1. 错误:更新不适用于此计算机
-
检查更新是否被取代:确认更新包包含比系统现有版本更新的二进制文件,或是否被新包取代。
-
验证是否已安装:确认目标更新未在系统中安装。
-
匹配体系结构:确保更新与 Windows 版本(如 Server 2019 不可用于Server 2016)及处理器体系结构(如 x86 不可用于 x64)一致。
-
安装先决条件更新:参考更新相关文章,确认已安装必备更新(如 Windows 10 22H2 需先安装KB50282445 等),可通过 PowerShell 验证:
Get-HotFix KB50282445, KB5031539
2. 设备未收到已部署的更新
-
检查设备更新是否被暂停(参考暂停功能更新)。
- 配置Windows 更新客户端策略 | Microsoft Learn
https://learn.microsoft.com/zh-cn/windows/deployment/update/waas-configure-wufb#pause-feature-updates
- 配置Windows 更新客户端策略 | Microsoft Learn
-
功能更新需检查设备是否应用保护保留(参考安全措施保留功能)。
- Windows 的安全措施保留 | Microsoft Learn
https://learn.microsoft.com/zh-cn/windows/deployment/update/safeguard-holds
- Windows 的安全措施保留 | Microsoft Learn
-
确认部署状态为“产品/服务”(“已暂停”或“已计划”状态不会部署)。
-
检查设备是否扫描更新服务(参考扫描更新)。
- Windows 更新的工作原理 | Microsoft Learn
https://learn.microsoft.com/zh-cn/windows/deployment/update/how-windows-update-works#scanning-updates
- Windows 更新的工作原理 | Microsoft Learn
-
功能更新需验证设备是否成功注册到部署服务(通过 Microsoft Entra ID 设备资源确认)。
-
加急质量更新需确认设备安装“更新运行状况工具”(路径:
C:\Program Files\Microsoft Update Health Tools),可通过PowerShell验证:Get-WmiObject -Class Win32_Product | Where-Object {$_.Name -Match "Microsoft Update Health Tools"}
3. 设备接收未部署的更新
-
检查设备是否扫描 Windows 更新服务而非其他终结点(如 WSUS)。
-
功能更新需确认设备是否成功注册到部署服务(未注册可能按延迟期接收其他更新)。
六、使用 DISM 自动修复
(一)DISM 工作原理
-
检查范围:目录的文件
%SYSTEMROOT%\Servicing\Packages、%SYSTEMROOT%\WinSxS\Manifests, 以及注册表项数据HKEY_LOCAL_MACHINE\Components等。 -
修复逻辑:检测到不正确的清单、内阁或注册表数据时,替换为正确版本。
-
日志位置:
%SYSTEMROOT%\Logs\CBS\CBS.log、%SYSTEMROOT%\Logs\CBS\CBS.persist.log
(二)适用版本
Windows 11、Windows 10、Windows Server 2016 及更高版本。
(三)基础修复步骤
-
打开管理员命令提示符:开始菜单搜索“命令提示符”,右键选择“以管理员身份运行”。
-
执行 DISM 命令:
DISM.exe /Online /Cleanup-image /Restorehealth(需连接 Microsoft 更新服务器获取修复文件;若无法联网,可指定修复源,如:
DISM.exe /Online /Cleanup-Image /RestoreHealth /Source:\\<servername>\c$\winsxs /LimitAccess其中
<servername>为同版本操作系统的计算机名。) -
运行系统文件检查:
sfc /scannow -
重新运行 Windows 更新:关闭命令提示符后尝试更新。
七、手动修复
1. 分析 CBS.log 文件
- 路径:
%WinDir%\Logs\CBS\CBS.log,记录扫描结果及错误(如“CSI Payload Corrupt”表示文件损坏,“CBS MUM Missing”表示包缺失)。
2. 下载缺失文件
-
从日志中提取损坏 / 缺失文件信息(如文件路径、更新内部版本修订号 UBR)。
-
通过 UBR 编号匹配 KB 编号(参考 Windows 10 更新历史 或 Windows 11 更新历史)。
-
Windows 10 - release information | Microsoft Learn
https://learn.microsoft.com/zh-cn/windows/release-health/release-information#windows-10-release-history -
Windows 11 - release information | Microsoft Learn
https://learn.microsoft.com/zh-cn/windows/release-health/windows11-release-information
-
-
在 Microsoft 更新目录 中搜索 KB 编号并下载对应更新包。
-
Microsoft 更新目录
https://www.catalog.update.microsoft.com/home.aspx
3. 提取.msu和.cab文件
-
创建文件夹:`
mkdir C:\temp\Source -
使用 PowerShell 脚本提取文件(脚本需指定
.msu/.cab文件路径和目标路径,可处理嵌套.cab文件)。
4. 修复损坏文件
-
将正确文件复制到
C:\temp\Source:Copy-Item "C:\path\extractedFiles\corruptedfile.dll" -Destination "C:\temp\Source" -
重新运行DISM命令:
DISM /Online /Cleanup-Image /RestoreHealth /Source:C:\temp\Source\ /LimitAccess
5. 验证修复结果
-
执行扫描命令确认:
DISM /Online /Cleanup-Image /ScanHealth -
检查
CBS.log确保无剩余错误。
via:
-
修复 Windows 更新损坏和安装失败 - Windows Server | Microsoft Learn
https://learn.microsoft.com/zh-cn/troubleshoot/windows-server/installing-updates-features-roles/fix-windows-update-errors -
排查 Windows 更新问题的指南 - Windows Client | Microsoft Learn
https://learn.microsoft.com/zh-cn/troubleshoot/windows-client/installing-updates-features-roles/troubleshoot-windows-update-issues -
用于提取 .msu 和.cab文件的脚本 - Windows Server | Microsoft Learn
https://learn.microsoft.com/zh-cn/troubleshoot/windows-server/support-tools/scripts-extract-msu-cab-files -
使用系统文件检查器工具修复丢失或损坏的系统文件 - Microsoft 支持
https://support.microsoft.com/zh-cn/topic/使用系统文件检查器工具修复丢失或损坏的系统文件-79aa86cb-ca52-166a-92a3-966e85d4094e -
使用 TSS 收集与部署相关的问题的信息 - Windows Client | Microsoft Learn
https://learn.microsoft.com/zh-cn/troubleshoot/windows-client/windows-tss/gather-information-using-tss-deployment -
Windows 更新的工作原理 | Microsoft Learn
https://learn.microsoft.com/zh-cn/windows/deployment/update/how-windows-update-works -
解决更新 Windows 时遇到的问题 - Microsoft 支持
https://support.microsoft.com/zh-cn/windows/解决更新-windows-时遇到的问题-188c2b0f-10a7-d72f-65b8-32d177eb136c#id0ebf=windows_11
24H2 - how to remove the two (un)reclaimable that always show in DISM
Thread starter Bree Start date Mar 27, 2025
dism /online /remove-package /packagename:Package_for_RollupFix~31bf3856ad364e35~amd64~~26100.1742.1.10
Then…
Dism.exe /online /Cleanup-Image /StartComponentCleanup
Then…
Dism /Online /Cleanup-Image /AnalyzeComponentStore
via:
- 24H2 - 如何删除在 DISM 中始终显示的两个(不可回收的)
https://www.elevenforum.com/t/24h2-how-to-remove-the-two-un-reclaimable-that-always-show-in-dism.34680/
6139

被折叠的 条评论
为什么被折叠?



