解决windows-update的0x800f0922错误

事情发生于上周五的晚上,突发奇想,看着手里越用越别扭(卡)的系统,想要更新一波,查了下,现在的 1903 正好可以更新 1909,而且 1909 的主要更新是 bug 修复,还有新的 CPU 调度算法,应该可以拯救下我现在的系统,遂起了更新的念头。

重要的事情说三遍,必须要先备份!!!先备份!!!先备份!!!

因为我的系统比较特殊(我开了 Bitlocker),所以我是全盘备份的,系统盘和资料盘全部备份。

之后开始了坑爹的更新过程。先是下载安装一些缺失的更新,之后安装 11 月累计更新,安装成功,再就是安装 12 月份累计更新(听说 1909 就已经包含在了这个更新里边,后续的更新只是启用一下而已),然后就一直在重启之后到百分之 98 的时候失败,失败,还是失败!!!

然后我就开启了查错的过程。首先事件查看器告诉我更新失败的错误代码是 0x800f0922 ,然后 Google 之,按照流程一个一个的试。

  1. 关闭梯子(这个对我没什么卵用)
  2. 在 Windows 功能中检查 .NET3.5 是否勾选(我早已经勾选)
  3. 删除某些可能阻止更新的注册表键值(没什么用,这里就不列了)
  4. 关闭防火墙(我早就关掉了)
  5. 删除临时(%temp%)文件(这个随手一删,也没啥用)
  6. 禁用安全启动(这个我的确开了,后来发现没有影响)
  7. 使用命令(sfc /scannow)修复系统(没用)
  8. 使用 DISM 命令(DISM /Online /Cleanup-Image /RestoreHealth)扫描修复系统(没用)
  9. 根据补丁代号手动下载手动安装(和自动更新一样的情况)

这个时候我停止了折腾(其实是该睡了)。

期间我尝试了各种方法,包括禁用非系统服务,卸载一些驱动,删除一些软件,都没有效果。

因为怕再折腾系统让我搞崩了,所以我将系统备份恢复到了虚拟机中,想要在虚拟机上进行复现,然后尝试解决。

但是,奇葩的事情来了,恢复到虚拟机中,无论用什么姿势更新,都是可以正常更新到百分之百并且正常进入系统的,一点问题都没有!!! 1909 很香!!!

但是为什么在我电脑上就死活更新失败呢?我在想,每次都到百分之九十八是不是因为一些文件没法更新(权限问题)导致回滚的???

So,我尝试了一种方法,将系统备份恢复到我自己的电脑上,听起来是不是不可思议,恢复了有什么用呢?但是事实是,It Works!!!正常更新了,并且也安装好了 1909 的更新包!!!世界就是这么魔幻。

以上尝试总共花费了一个晚上加一个周末。不要问我为啥这么干就可以,我也不知道…

看到这里的小伙伴们,如果自己没有很强的动手能力的话还是不推荐和我一样这么折腾的,很容易出问题的。尤其是 1903 一直以来 bug 都很多,所以如果想尝试以上方法的话还是推荐找一个动手能力强的小伙伴并且在备份好全部数据之后再进行尝试。

本文章首发于个人博客 LLLibra146’s blog
本文作者:LLLibra146
版权声明:本博客所有文章除特别声明外,均采用 © BY-NC-ND 许可协议。非商用转载请注明出处!严禁商业转载!
本文链接https://blog.d77.xyz/archives/1d475afe.html