补丁安装失败主因是SoftwareDistribution缓存损坏或锁死,需停止wuauserv、bits、cryptsvc服务后彻底删除该目录,并重命名catroot2为catroot2.old;若仍失败,再依次执行DISM /Online /Cleanup-Image /RestoreHealth和sfc /scannow修复系统映像与文件。
直接说结论:补丁安装失败,八成是 softwaredistribution 缓存损坏或锁死,清空它 + 重启对应服务,能解决绝大多数卡在 0%、反复失败、报错 0x80070005 或 0x80073712 的问题。
停止服务再删缓存,否则删不干净
Windows 更新服务(wuauserv)、后台传输服务(bits)、加密服务(cryptsvc)只要还在运行,就会一直占用 C:\Windows\SoftwareDistribution 里的文件,直接删会提示“正在使用中”或跳过部分文件——这些残留就是后续失败的根子。
- 按
Win + R,输入services.msc回车,找到这三项服务:Windows Update、Background Intelligent Transfer Service、Cryptographic Services,右键依次选“停止” - 再打开资源管理器,在地址栏粘贴
%windir%\SoftwareDistribution回车,全选里面所有内容,Shift + Delete彻底删除(不用备份,系统重启后自动生成) - 删完回去把刚才停掉的三个服务全部右键“启动”
重命名 catroot2 防止证书校验失败
catroot2 是 Windows 存放更新签名证书和信任链缓存的地方。如果它损坏,哪怕缓存清了,系统仍可能因无法验证补丁签名而拒绝安装,典型报错是 0x80070005(访问被拒绝)或 0x800F0922(证书错误)。
- 必须在服务已停止的前提下操作:以管理员身份打开终端,执行
ren C:\Windows\System32\catroot2 catroot2.old - 别手动删
catroot2,重命名更安全;系统重启后会自动重建一个干净的目录 - 这条命令常被漏掉,但对 LTSC 版本(如 Win11 LTSC 24H2)或企业环境尤其关键
用 DISM + SFC 补底,专治“清完还失败”
如果清完缓存、重命名 catroot2 后仍失败,说明系统映像本身已有损坏——SoftwareDistribution 只管下载和排队,真正打补丁时要从 WinSxS 目录读取原始组件,这里坏了,更新必然失败。
- 管理员终端里先跑:
DISM /Online /Cleanup-Image /RestoreHealth(修复系统映像源) - 等它完成,再跑:
sfc /scannow(用刚修好的源,扫描并替换当前损坏的系统文件) - 两个命令都必须等全程结束(看到“还原操作完成”或“Windows 资源保护未发现任何完整性冲突”才算成功)
- 注意:DISM 需联网下载修复数据,若网络受限,可加
/Source参数指定挂载的镜像路径
最常被忽略的是服务没真正停全、catroot2 没动、或者 DISM 和 SFC 没按顺序跑完就急着重试更新。补丁失败不是玄学,它卡住的位置,基本就对应哪一层出了问题。

















