一招解决Windows各种由于INF文件错误,造成的驱动程序无法正常升级,系统无法更新(撤销更新 错误代码0xc1900101开头),安全中心无法开启内核隔离。
开端
Windows的驱动程序在内核外运行可能是windows的一个优势,但是这也导致windows系统上80%的蓝屏或者其他异常报错都跟驱动相关,我在Windows11安全中心修复后驱动不兼容,内核隔离的功能打不开,而且Linux子系统和安卓子系统也都打不开了(已经开启Hyper-V且在运行中),应该是这个搞的鬼,因为之前看错误日志里有关于Hyper-V的关键字。开搞
问题解决方法
设备安全性里的内核隔离打不开了,点进去检查的话会告诉你是驱动不兼容
内核隔离,由此你需要升级驱动,出问题的驱动一般是显卡驱动,这时你需要上显卡官网下载一下。下载完后
win+R 运行输入
rundll32 shell32,Control_RunDLL sysdm.cpl
打开系统属性。
之后硬件-设备安装设置-否,保存更改,
继续win+R 运行输入
gpedit.msc
计算机管理配置-windows组件-Windows更新-管理从Windows更新提供的更新
然后启用Windows更新不包括驱动程序。
再卸载原有出问题的驱动重启,
不出意外再去开启设备安全性里的内核隔离就能开启成功了。
但是我这里是一个设备有两个驱动程序出错所以我还得继续解决另一个残留驱动问题,如果你也一样,继续往下。
内核隔离,不兼容驱动检测里会告诉你驱动程序的INF名称,如OEMxx.inf由此我看了下微软的文档,巧了,好像就是这个文件的问题,因为我是不重装修复的肯定对不上,参考文档地址
我看了一下已经安装的驱动与这个出错的inf的名称确实对不到
查看已安装设备inf名称方法:在设备管理里右键设备属性打开如下图。
然后在C:\Windows\INF里面分别打开出错的inf文件和最新安装的设备inf文件,用记事本将新安装的设备inf文件内容覆盖到出错的inf文件保存。
之后在设备管理里卸载设备和驱动程序,再切换按驱动程序设备查看,找到出错的inf文件(如果有)删除和卸载一遍。
然后继续安装新驱动,不出意外就安装好了,出错的inf文件也不见了,内核隔离可以正常打开。
彩蛋
聪明的人应该猜到了,我驱动程序都安装不了了。我怎么找到新驱动程序的正确inf文件复制到旧的inf文件呢?
这里举两个例子,如果是nvidia驱动就在安装时任务管理器右键安装程序打开所在目录进入International\Display.Driver,里面就有inf文件了,比如dell就是nvdmi.inf,就是复制这个里面的内容和安装成功后复制时一样的。还有个更快捷的办法随便打开个里面的一个inf文件,然后记事本打开找到你的显卡型号,再在设备管理器内按下图的路径方法找到硬件ID复制到记事本显卡型号那行对应修改成正确的硬件ID保存,之后就可以复制到出错的inf文件了。
如果是intel驱动直接在驱动安装程序打开时任务管理器右键安装程序打开所在目录,找到inf文件就行了,应该都是一个,其他驱动的话,大同小异。