Windows Update 卡住或回滚:先读日志,别急着删文件夹
用更新历史、WindowsUpdate.log、CBS/DISM 日志和常见 0x800… 错误码诊断 Windows 11 26H2 更新失败,避免破坏性删目录。
测试环境Pro (26H2) · 版本号 26300.9457 · x64
E1- 版本号
- 26300.9457
- 版本
- Pro (26H2)
- 架构
- x64
- 支持
- 文档(E1)
- 证据
- E1官方文档
- 核验日期
- 2026-10-28
- 页面类型
- 排障
不要一上来删 SoftwareDistribution 和 catroot2。先确定哪个更新、哪个阶段、哪个错误码失败。
卡住通常是:
- 下载/缓存问题;
- 服务栈/组件存储问题;
- 驱动/固件冲突;
- C: 空间不足;
- 策略/WSUS/Intune 冲突。
日志会告诉你哪一类。
1. 记录状态
Section titled “1. 记录状态”winverGet-HotFix | Sort-Object InstalledOn -Descending | Select-Object -First 10Get-WinEvent -LogName System -MaxEvents 100 | Where-Object ProviderName -match 'WindowsUpdate|Servicing'再看设置 → Windows Update → 更新历史里的失败 KB 和错误码。
2. 读对日志
Section titled “2. 读对日志”| 日志 | 回答什么 |
|---|---|
| 更新历史 | 哪个 KB/错误码 |
%windir%\Logs\WindowsUpdate |
下载/安装编排 |
CBS.log |
组件服务失败 |
DISM.log |
映像服务操作 |
| 事件查看器 → 系统 | 重启、服务崩溃、磁盘错误 |
Get-WindowsUpdateLog |
合并 ETW 成可读日志 |
Get-WindowsUpdateLog 默认写到桌面,可能要一分钟。看尾部,搜失败 KB/错误码。
3. 常见模式
Section titled “3. 常见模式”| 现象 | 可能区域 | 先做什么 |
|---|---|---|
| 0x800f081f | 组件存储/源缺失 | 带源 DISM /RestoreHealth |
| 0x80070070 | 磁盘空间 | 腾空间再试 |
| 0x80070643 | 安装器/.NET/服务 | 看具体 KB 说明 |
| 0x8024xxxx | 下载/WSUS/网络 | 查代理/WSUS/策略 |
| 更新后重启循环 | 驱动/固件或服务未完成 | WinRE,卸载最新更新 |
| 卡在“正在下载 0%” | 网络/缓存 | 先查代理/DNS |
不要把一个错误码当成万能修复。同一个码在不同 build 上可能有不同原因。
4. 安全修复顺序
Section titled “4. 安全修复顺序”- C: 至少腾 20–30GB。
- 重启,重试一次。
- 跑 Windows Update 疑难解答。
DISM /Online /Cleanup-Image /CheckHealth,再/ScanHealth,需要时/RestoreHealth。- DISM 后
sfc /scannow。 - 重试更新。
- 最后才重置更新缓存。
5. 每次都回滚怎么办
Section titled “5. 每次都回滚怎么办”- 记下确切 KB,是累积、.NET 还是驱动更新。
- 看该 KB 的 known issues。
- 只有厂商明确说明冲突时,才临时移除第三方杀软/反作弊。
- 查空间和文件系统健康(
chkdsk /scan)。 - 机器不能启动时,用 WinRE → 卸载更新/系统还原。