none
Windows Update在推送驱动存在BUG RRS feed

  • 问题

  • 为了验证该问题是Windows Update在推送驱动存在BUG,特别是推送显卡驱动时严重存在问题,特做了如下测试。(这里主要是以Intel显卡为例。)
    1、首先全新安装Windows 10专业版(现在已经更新到21H1,所以安装的就是最新的版本)。
    2、在断开外网的情况下安装事先从Dell官方网站下载的最新的所有驱动程序。
    3、目前Dell提供的最新的显卡驱动程序版本为27.20.100.8935,其中驱动安装包中已经提供的基本驱动inf文件和扩展驱动inf文件,基本驱动程序inf文件名为“iigd_dch.inf",扩展驱动程序inf文件名为”iigd_ext.inf"(附图)。从图中可以看出基本驱动程序和扩展驱动程序已经安装成功。

    4、通过查阅微软公司的关于扩展驱动程序的相关技术文档后,发现了两个问题。(技术文档链接:在 Windows 硬件仪表板中使用扩展 INF - Windows drivers | Microsoft Docs\使用扩展 INF 文件 - Windows drivers | Microsoft Docs)附图。

    1)、从以上技术文档中可以得知“ Windows 更新提供扩展 INF,所有系统都必须至少运行 RS3 2018 年 1 月更新 (10.0.16299.192)。” 难怪我的系统更新到这个版本后就一直出问题。
    2)、扩展驱动可由不同的公司提供,并独立于基本 INF 进行更新。每个设备都必须有一个基本 INF,还可以选择将一个或多个扩展 Inf 与其关联。发布到 Windows 更新后,用户可能不得不多次下载你的驱动程序包:安装基准驱动程序时下载一次,针对 PnP 检测到的每个适用的扩展再下载一次。

    那么问题来了:如下图


    1、即然DELL官方的驱动程序包已经提供过了版本号27.20.100.8935的扩展驱动程序。Windows Update再一次推送了一个版本号27.20.100.8935的扩展驱动程序。根据Dell提供的反馈结果。Windows Update推送的这个扩展驱动程序不是DELL官方提供的版。而是其它OEM制造商根据版本号为27.20.100.8935的基本驱动程序提供的扩展驱动程序被Windows Update错误推送。红色画线部份是之前安装官方驱动程序时一同被安装的扩展驱动程序。而蓝色划线部份就是Windos Update错误推送的扩展驱动程序(其中有一个就是错误推送的版本号为27.20.100.8953的扩展驱动程序)。我对比过官方网站下载的扩展驱动inf文件与Windows Update推送的扩展驱动程序文件的内容。最大的区别在于,官方下载所扩展驱动inf文件中有以下几行代码“HKR,, DisplayFeatureControl, %REG_DWORD%, 0x3C3 ; bit0-9: Y-tile,NV12,RC,Rsvd,AllowDC9InDSR,EnableMPO,EnableMPOMultiDisplay,YUY2,EnableYUY2Scaling,EnableIPC 
    HKR,, AudioSurpriseRemovalWAEnable,%REG_DWORD%, 0x1 ; by default value will be 0 and set 1 if you are using audio MS bus driver SKL and above
    HKR,, SkipDisplayDStateAccess, %REG_DWORD%, 0x1”,而Windows Update推送的扩展驱动中没有这几行代码。其它的变化主要是增加和删除一些支持的设备。

    2、退一步讲,按照技术文档中所说一个基本驱动程序可关联多个扩展驱动是正常情况。那么也只应该推送27.20.100.8935的扩展驱动就可以了。为什么还会推送系统中没有安装的版本的扩展驱动程序。即图中蓝色划线版本的扩展驱动。这显然的Windows Update的BUG。这些已经是老旧版本的扩展驱动程序了。系统中并没有安装这些版本的基本驱动程序!


    另外我还使用了另外一种测试方法。以下是测试情况

    1、 全新安装Windows 10专业版
    2、 安装事先下好的驱动程序(除显卡驱动程序)
    3、 让Windows Update自动推送显卡驱动程序。情况与安装全部的驱动基本相同。唯一的区别是由于系统没有安装过显卡驱动程序。Windows Update先推送安装了一个版本号为27.20.100.8935的基本驱动程序。然后推送显卡扩展驱动程序。推送的扩展驱动就是多出来了一个27.20.100.8935的扩展驱动程序。换言之就是版本号为27.20.100.8935的扩展驱动程序被推送了两次。其中一个的INF文件与DELL显卡驱动程序安装包的文件一模一样。经DELL确认。一样的这个就是DELL提供的官方扩展驱动程序。而另一个与先前安装过官方驱动程序时Windows Update推送的扩展驱动程序一致。其它的老旧版本的扩展驱动程序还是一样被推送并安装了。

     
    2021年7月2日 6:30