Windows Server 2022 安装AMD显卡驱动

前言

主因是AMD官方显卡驱动没有对Windows Server 2022进行支持,实际上Windows Server 2022内核与Windows 10系统一致,因此直接下载Windows 10版本的驱动即可在Windows Server 2022系统中使用

问题

  • AMD官方显卡驱动不支持在Windows Server 2022系统直接使用官方提供的一键安装工具进行安装显卡驱动,直接运行安装程序会提示“错误 184 – 由于操作系统不支持,AMD Software 安装程序无法继续”
  • 直接使用设备管理器安装显卡驱动是个好方法,但经测试今年(2023)下半年AMD官方驱动进行了更新
    • 旧版需要自行选择解压路径的界面没有了,转而变成了固定路径的自动解压(C:\AMD),但自动解压的新版驱动解压速度明显快了许多;
    • 新版驱动直接使用设备管理器安装也无法安装,无论是未安装驱动的Windows基础显示适配器状态,还是已有旧驱动(能正确显示显卡型号)的状态,点击更新驱动再指向驱动解压目录会直接提示“你的设备的最佳驱动程序已安装”
    • 选择从磁盘文件安装,则会提示“指定的文件夹没有包含设备的兼容软件驱动程序”

解决方式

可能的方式

  • 通过修改系统标识来骗过安装程序,让安装程序误以为是可行的系统,然后直接通过安装程序安装驱动
    • 这种方式若不会导致系统出现异常,或许是最好的方式。
      • 目前暂不清楚AMD的安装程序通过何种方式获取到系统信息,若能通过类似API HOOK的技术来操作使得安装程序获得错误但被支持的系统标识,然后按照正常流程进行驱动程序的安装,将会是最理想的方式
      • 笔者在互联网上查询到有相关的做法,但因所使用的工具软件具体修改了系统哪些东西并不清楚,因此笔者认为这并不是一种理想的做法

一种在winServer系统正常安装驱动的办法

本文的解决方式

通过修改AMD驱动文件来实现,仍然通过设备管理器来安装AMD显卡驱动,本文主要参考了文章

Windows Server 2022安装最新Ryzen显卡驱动(以5800H为例)

主要修改的文件为AMD显卡驱动的“安装信息”inf文件

根据上述“指定的文件夹没有包含设备的兼容软件驱动程序”、参考网友文章中修改的内容、Windows官网对inf驱动安装文件定义内容来判断,问题出自INF制造商部分的目标操作系统版本

INF 制造商部分

新版驱动路径为

C:\AMD\AMD-Software-Installer\Packages\Drivers\Display\WT6A_INF

笔者对可以直接通过设备管理器安装的旧版驱动,与新版无法安装的驱动,其中的inf文件进行了对比

;
; Driver information
;

[Manufacturer]
%ATI% = ATI.Mfg, NTamd64.10.0...16299, NTamd64.10.0, NTamd64.6.0, NTamd64.6.1, NTamd64.6.2, NTamd64.6.3

[ATI.Mfg.NTamd64.10.0...16299]

旧版驱动

;
; Driver information
;

[Manufacturer]
%ATI% = ATI.Mfg, NTamd64.10.0.1..16299, NTamd64.10.0.1, NTamd64.6.0.1, NTamd64.6.1.1, NTamd64.6.2.1, NTamd64.6.3.1

[ATI.Mfg.NTamd64.10.0.1..16299]

新版驱动

可以看出有明显区别,新版驱动的修改导致windows server 2022认为该驱动不符合当前系统的要求,因此没有继续进行安装

直接使用使用旧版驱动的这部分文本替换到新版驱动中,然后保存新的inf文件,并尝试通过设备管理器-选择显卡-选择从磁盘文件安装-选择驱动中的inf文件-确定安装

这个驱动程序没有经过数字签名!

如图所示,会提示“这个驱动程序没有经过数字签名!”

但这是正常的,因为我们对驱动文件进行了修改,导致驱动文件的数字签名失效,此时可以通过命令行执行以下命令,关闭驱动强制签名的限制

bcdedit -set loadoptions DISABLE_INTEGRITY_CHECKS

此处根据网友描述需要开启测试模式并重启系统后再进行操作,笔者在此没有测试是否可以不进入测试模式也可以安装没有数字签名的驱动程序

笔者已知关闭驱动强制签名后可以直接安装,反而重启系统后会自动开启驱动强制签名

测试模式开

bcdedit -set TESTSIGNING ON

测试模式关

bcdedit -set TESTSIGNING OFF

再次进行安装,会提示驱动未签名,选择继续安装就可以了

安装成功后重新开启驱动强制签名的限制

bcdedit -set loadoptions ENABLE_INTEGRITY_CHECKS
安装驱动成功

显卡控制面板

直接使用设备管理器安装显卡驱动并不会安装控制面板,因此需要手动安装显卡控制面板

根据下图找到显卡控制面板的安装程序,直接双击打开等待即可

其中的路径就是显卡驱动的路径,其中的Bxxxxx数字与驱动版本有关,或者可以搜索“cc”字样

显卡控制面板安装程序的路径位置

安装控制面板的过程可能会导致桌面变黑,原因是桌面管理程序不清楚何种原因结束了,需要通过任务管理器重新启动

任务管理器重新启动桌面管理程序
显卡控制面板安装成功截图
显卡控制面板截图

已知问题:显卡控制面板中检查更新永远都是失败,暂不清楚是何种原因