由于我的笔记本电脑Windows 10系统默认开启了自动更新,Windows于8月19日为我的笔记本电脑推送了更新KB4508451。又由于当天晚上我的笔记本电脑正在通宵跑CUDA程序,因此系统在8月20日凌晨自动安装了更新。再加上现在Windows 10推出的“无感更新”解决方案,我在8月19日跑的程序并没有被终止,因此第二天我并没有感到异样。(图文无关)
我是在8月21日上午发现异常的。8月21日早上,我一如既往使用Topaz Gigapixel AI处理图片,突然发现运行十分缓慢,远低于往常的速度。当时我怀疑是不是显卡被占用了,于是我打开任务管理器查看性能面板,发现核显跑慢,独显却没有被调用,进程分析也显示Topaz Gigapixel AI正在使用核显。我尝试右键应用图标并选择 用图形处理器运行 —— 高性能NVIDIA图形处理器 ,但是运行后再打开任务管理器查看进程分析,发现仍然是使用核显。
我认为有可能NVIDIA控制面板中配置有问题,于是我在NVIDIA控制面板把所有应用默认图形处理器调成独显,又特别地把Topaz Gigapixel AI全部选项调成只用独显运行。但是重启后运行发现依然是无法调用独显。
我又怀疑可能显卡驱动被破坏,于是我尝试重装驱动。但是我尝试了Windows联网搜索驱动、NVIDIA官网提供的GameReady驱动和NVIDIA官网提供的CUDA10.1适配驱动,最终发现无法调用独显都没有解决。而且设备管理器显示独显RTX2060工作正常。我打开笔记本电脑厂家提供的软件控制器,发现无法读取显卡信息。
到了这一步,一般都是硬件问题或者固件问题了,但是转念一想,我又没有超频,也没有“大力出奇迹”,更没有刷过VBIOS,硬件或固件怎么会出问题呢。为了测试硬件是否真的没有问题,我安装了CUDA 10.1并跑了附带的示例程序,发现竟然成功调用独显进行CUDA运算了,这说明这其实只是软件问题。
那么好了,到底是什么软件的问题呢?
上一次正常使用Topaz Gigapixel AI的时间应该是8月19日,我打开事件查看器查看8月19日发生了什么。我发现8月20日凌晨Windows自己进行了一次更新:KB4508451。看来大概就是这个问题了。在微软官网支持搜索,发现确实存在“部分笔记本电脑”更新某些质量更新或功能更新后掉独显的问题。官方提供的解决办法很简单:回退。于是我就会退了。
问题解决了吗? 当然没有
KB4508451卸载后突然自动重启,Windows又把它自动安装回去了,大概是到了“我不在使用电脑的时间”(现在已经是8月21日晚上)。于是我暂停Windows更新,卸载KB4508451,重启电脑。
啪!Windows蓝屏了。
重启了四五次,终于成功进了系统,但是速度慢了很多。我再去查看事件查看器,发现每次启动都有一个错误:嵌入式控制器启动失败。必应一搜,发现这是BIOS问题,需要更新BIOS解决。
不对啊,我又没有动过BIOS,怎么会出现BIOS问题呢?
我再查看事件管理器,发现这是在7月15日才开始出现的。7月15日Windows也进行了更新,大概这就是罪魁祸首之一了。照常卸载。
重启,又出现了问题,右下角的电源、声音和网络图标左键单击全部失灵,但右键正常,任务栏其他部分都正常。在设置中“选择可用网络”没反应、电池无法打开节电模式,但是可以调声音和查看电池状态。使用必应搜到的各种方法都失灵。迫不得已使用sfc /scannow修复系统。于是提示:
Windows 资源保护找到了损坏文件,但其中有一些文件无法修复。
对于联机修复,位于 windir\Logs\CBS\CBS.log 的 CBS 日志文件中
有详细信息。例如 C:\Windows\Logs\CBS\CBS.log。对于脱机修复,
/OFFLOGFILE 标记提供的日志文件中有详细信息。
在Microsoft官网搜索解决办法,被告知sfc在Windows 8 或之后的系统不再适用,因此要更换为DISM。
DISM.exe /Online /Cleanup-image /Restorehealth
提示查询到一些系统文件损坏,一路回车下去。然后再用 sfc /scannow
修复了错误。
重启,通知栏还是和之前一样。看来,应该是注册表或者是某些兼容性问题。
必应搜到的野路子,重置所有APPX和UWP应用:
重启dwm.exe和explorer.exe, 用管理员模式打开PowerShell, 输入以下命令:
Get-AppxPackage | % { Add-AppxPackage -DisableDevelopmentMode -Register "$($_.InstallLocation)\AppxManifest.xml" -verbose }
总是提示两到三个错误:
*****无法执行,由于*****被*****占用
尝试Kill掉占用者,提示没有该进程。
进入安全模式,提示安全模式不可以使用Get-AppxPackage。
使用Windows RE自动修复,检查不出任何错误。
看起来完全没辙了,那就重装吧。
我下载Windows 10安装器,按部就班,却惊喜地发现有“保留应用和个人数据”这个选项,果断选。
等待了十分钟,安装完成,再试试点击右下角的图标,发现正常了!(时间8月22日晚上)
但是,又出现了问题:CUDA调用不上了。
还好我之前做过试验,那就重装显卡驱动。但是我尝试了418.96的GameReady驱动以及418.96的CUDA Tookit驱动都不行,用Windows Update安装驱动也不行。
后来升级到431的Studio驱动之后cuda就可以调用了。大概是1903的Windows需要新版本驱动吧,但是官方没有说明。
三天时间,本来可以做很多事情的,但是都浪费在一个小小的Windows更新上了。奉劝以后如果要更新Windows,果断还是使用Windows官方安装器下载系统进行WIM完全更新,而不要使用ESD增量更新(也就是自动更新)了。
但是我很高兴的是,至少我还懂一些Windows这方面的知识,不然我可能就要破费几百人民币去维修电脑了。