为什么 Windows 11/10 中的设备驱动程序仍可追溯到 2006 年?
如果你看的话,你会发现Windows 11/10上的大部分设备驱动程序实际上可以追溯到Windows Vista RTM日期,即2006年6月21日!这可能会让人们怀疑计算机上的驱动程序是否确实是系统最佳运行所需的最新设备驱动程序。
Windows Vista 早在 2006 年就发布了,即使过了十几年,Windows 中的设备驱动程序仍然可以追溯到 2006 年。乍一看,这似乎是这是一个合法的问题,并且会造成驱动程序如何继续支持不断发展的硬件设备的不确定性,但随后您会注意到驱动程序版本正在使用最新的 Windows 内部版本号进行更新。
如果您转到 Windows 计算机上的设备管理器并检查任何设备驱动程序详细信息,您会看到以下内容(在大多数情况下)。所有 Windows 特定驱动程序的驱动程序日期均设置为 21-06-2006,而版本号与您在 PC 上安装的版本同步。
Windows 11/10 设备驱动程序的日期为 2006 年。为什么?
Microsoft 软件工程师 zac_l 在 Reddit 上解释了这一异常现象。
当 PNP 对驱动程序进行排名时,它首先查看驱动程序匹配的硬件 ID。如果任何两个驱动程序与相同的硬件匹配,则第一个决胜局是驱动程序的日期。因此,如果您有一台可以使用内置驱动程序的设备,但您在设备上安装了一些自定义/OEM 驱动程序,则每次 MS 更新我们的驱动程序时,它都会覆盖您的自定义驱动程序,因为日期比您的日期新。通缉。我们如何避免这种情况?我们发布的每个驱动程序都有 Vista RTM 日期,无论其上次更新时间如何(我们更新版本号,如果日期相同,则这是下一个决胜局)。由于只有 Vista 之前的驱动程序才与新版本的 Windows 兼容,因此每个驱动程序都应具有比 Vista RTM 更新的日期,从而将您安装的驱动程序保留为排名最佳的驱动程序。
因此,当系统对底层设备的驱动程序进行排名时,它会根据不同的标准对它们进行排序。首先,如果驱动程序与设备的硬件 ID 匹配,它就成为合格的竞争者。如果两个或多个驱动程序符合硬件规格,系统将根据驱动程序日期打破平局。如果驱动程序日期仍然相同,则选择最新版本的驱动程序。
现在,如果您为任何设备安装了制造商提供的驱动程序,Windows 驱动程序将在每次更新时替换它,因为它会有更新的驱动程序日期。如果设备应该使用基于 OEM 的驱动程序运行,则需要避免这种情况。因此,为了避免 Windows 驱动程序的排名高于制造商提供的驱动程序的情况,Microsoft 会(在其所有驱动程序上)放置较旧的时间戳,无论其上次更新时间如何。但是,这些 Windows 驱动程序的版本号已更新,因此,如果真正旧的 OEM 驱动程序和 Windows 驱动程序之间存在联系,则应优先考虑 Microsoft 提供的驱动程序。使用较新版本的 Windows
对于较新版本的 Windows,支持的驱动程序可追溯到 Windows Vista 版本。这就是为什么每个驱动程序都应该有一个比 Windows Vista 日期更新的日期,然后保留您安装的驱动程序,因为它的排名高于任何 Windows 提供的驱动程序。因此,故意回溯驱动程序可以为用户解决问题。
对于目前的情况来说,这是一种令人着迷且不可思议的解决方案,但最终一切都非常顺利。