很多从老版本 Windows 升级到 Windows 10 的用户都出了这样或那样的问题,遇到最多的可能就是 Windows Update 自动更新失败无法更新补丁。其实,只要有过非正常关机(掉电)、死机等情况的用户都可能会遇到 Windows Update 无法工作的情形。那遇到这种情况怎么处理呢?
其实我们可以通过如下步骤重置 Windows Update 和其组件,即可修复大多数情况下 Windows Update 自动更新失败的问题。
方法一:使用Windows 10的疑难解答
Windows 10 的疑难解答工具集成了 Windows Update 工作不正常的自动修复工具,我们可以在这里找到:
1 点击开始菜单 — 搜索疑难解答
2 点击系统和安全性中的使用 Windows 更新解决问题
微软这个翻译也太奇葩了,明明是要解决 Windows 自动更新的问题
3 按向导工具尝试进行修复即可
方法二:手动重置Windows Update
如果自动修复之后 Windows Update 还是不能正常工作,我们则可以手动对其进行重置。
1 以管理方式打开命令提示符(CMD),执行如下命令:
sc stop wuauserv sc stop bits sc stop appidsvc sc stop cryptsvc
以上命令会停用 Windows Update 相关的服务。
2 Windows Update 服务在 Windows 中注册了许多 DLL 并写了相关注册表项,如果缺少某些 DLL 或注册表项都可能会导致自动更新出问题,此步中我们使用如下命令重新注册相关 DLL:
regsvr32.exe /s atl.dll regsvr32.exe /s urlmon.dll regsvr32.exe /s mshtml.dll regsvr32.exe /s shdocvw.dll regsvr32.exe /s browseui.dll regsvr32.exe /s jscript.dll regsvr32.exe /s vbscript.dll regsvr32.exe /s scrrun.dll regsvr32.exe /s msxml3.dll regsvr32.exe /s msxml6.dll regsvr32.exe /s actxprxy.dll regsvr32.exe /s softpub.dll regsvr32.exe /s wintrust.dll regsvr32.exe /s dssenh.dll regsvr32.exe /s rsaenh.dll regsvr32.exe /s cryptdlg.dll regsvr32.exe /s oleaut32.dll regsvr32.exe /s ole32.dll regsvr32.exe /s shell32.dll regsvr32.exe /s wuapi.dll regsvr32.exe /s wuaueng.dll regsvr32.exe /s wups.dll regsvr32.exe /s wups2.dll regsvr32.exe /s qmgr.dll regsvr32.exe /s wudriver.dll
3 网络配置问题同样可能会导致 Windows Update 失败,因此重置网络配置也是一个必要的选项。一些病毒或非友善的程序都可能会更改默认的 winsock 配置,但我们可以使用如下命令进行重置:
ipconfig /flushdns netsh winsock reset netsh winsock reset proxy
4 现在,我们需要对 Windows Update 的缓存文件进行清理,因为补丁下载失败或缓存失败同样会导致安装不上的情况,所以需要使用命令清理缓存:
rmdir %systemroot%\SoftwareDistribution /S /Q rmdir %systemroot%\system32\catroot2 /S /Q
5 以上配置都完成以后,我们需要重新启动 Windows Update 相关服务:
sc start bits sc start wuauserv sc start appidsvc sc start cryptsvc
当然,最好还是重启一下系统比较好。
通过以上 5 步手动配置应该可以修复大部分 Windows 10 中 Windows Update 自动更新失败的问题,如果以上手段实施之后还是有问题的话,我只能说是 RPWT 了。