You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Alienware M18 R1更换主板后RTX 4090移动GPU设备ID不匹配的问题求助

Alienware M18 R1更换主板后RTX 4090移动GPU设备ID不匹配的问题求助

我几个月前入手了Alienware M18 R1,配置是i9-13980HX+RTX 4090移动GPU,之前用着一直没问题。后来因为CPU相关的BSOD问题,昨天刚换了一块主板——维修师傅说之前CPU附近有颗螺丝没拧紧,可能导致周边组件(比如电压调节器)散热不足。

新主板过了所有测试,Windows 11启动也正常,但很快发现设备管理器里显示的是“Microsoft Basic Display Adapter”而不是我的RTX 4090

我试过各种办法修复:

  • 卸载基本显示适配器
  • 用DDU(包括安全模式下)清理驱动
  • 安装戴尔官方的NVIDIA驱动
  • 安装NVIDIA官网最新的546.01驱动

但每次装驱动都会快速报错:

戴尔/Alienware稍旧版NVIDIA驱动安装器:“此NVIDIA显卡驱动与当前Windows版本不兼容,无法找到兼容的显卡硬件”
NVIDIA官方546.01驱动安装器:“NVIDIA安装无法继续:此NVIDIA显卡驱动与你的设备不兼容,请通过NVIDIA.com/drivers选择正确产品信息下载驱动,无法找到兼容的显卡硬件”
(试过桌面版驱动,报错相同)

一开始我以为新主板的GPU坏了,就预约了再次更换主板。不过我运行GPU-Z时发现,虽然显示的是“Microsoft Basic Display Adapter”,但里面很多参数都是RTX 4090的正确信息——比如5nm工艺、填充率这些,说明GPU其实是存在的,只是系统没法正常识别。

我用U盘启动Ubuntu,装了闭源NVIDIA驱动后,GPU直接完美工作,不需要任何自定义配置。甚至装了Steam跑《Dota 2》,1440p全高画质稳定200fps,NVIDIA工具也显示GPU在切换高频模式,肯定不是在用核显。

之后我用Rufus做了Windows To Go的U盘安装,结果问题完全一样——还是识别成基本显示适配器,装驱动报同样的错。

后来我试了个非常规操作:回到主Windows 11系统,把最新NVIDIA驱动解压到文件夹,然后手动“更新驱动”,选择“浏览计算机以查找驱动程序软件”→“从计算机的设备驱动程序列表中选取”→“Have Disk”,指向解压后的(根目录)\DisplayDriver\546.01\Win11_Win10-DCH_64\International\Display.Driver目录。

这里面列出了一堆GPU选项,其中有5-10个“NVIDIA GeForce RTX 4090 Laptop GPU”,我选了第一个(不确定它们有没有区别)。

没想到居然成了:NVIDIA驱动装好了,包括NVIDIA控制面板,副屏也亮了,Alienware Command Center能识别GPU并显示状态,《Dota 2》和3DMark也能正常运行——不过3DMark Time Spy得分只有17.9k左右,之前旧主板是20k,可能是别的原因,而且我已经禁用了Optimus,只用独显。

这时候我意识到可能是设备ID的问题,导致驱动识别不了。我的设备ID如下:

  • Windows:PCI\VEN_10DE&DEV_2757&SUBSYS_0C481028&REV_A1
  • GPU-Z:10DE 2757 - 1028 0C48

我 grep 了NVIDIA的.inf文件,发现完全匹配的ID根本不存在。最接近的在nvdmig.inf里:

$ grep "NVIDIA GeForce RTX 4090 Laptop GPU" *.inf | egrep 2757 | egrep 1028
nvdmig.inf:NVIDIA_DEV.2757.0BF0.1028 = "NVIDIA GeForce RTX 4090 Laptop GPU"
nvdmig.inf:NVIDIA_DEV.2757.0BFC.1028 = "NVIDIA GeForce RTX 4090 Laptop GPU"
nvdmig.inf:NVIDIA_DEV.2757.0BFE.1028 = "NVIDIA GeForce RTX 4090 Laptop GPU"
nvdmig.inf:NVIDIA_DEV.2757.0C49.1028 = "NVIDIA GeForce RTX 4090 Laptop GPU"
nvdmig.inf:NVIDIA_DEV.2757.0C4B.1028 = "NVIDIA GeForce RTX 4090 Laptop GPU"

我的ID是NVIDIA_DEV.2757.0C48.1028,而最接近的是NVIDIA_DEV.2757.0C4B.1028——就差一位:我的是8,文件里是B。

目前GPU日常用没问题,但有个大问题:《赛博朋克2077》这类游戏识别不了GPU,没法开启DLSS等RTX特性。而且我担心以后更新驱动都得手动走“Have Disk”的流程。

现在我有几个疑问想求助:

  • 会不会是翻新主板的设备ID被人为改了?比如手动输入时把8写成B了?
  • 物理设备ID能不能修改?
  • 难道我拿到的是个出厂时ID就错了的特殊4090样品?
  • Windows“Have Disk”列表里的那些同名GPU选项有区别吗?
  • 有没有办法解决《赛博朋克2077》这类游戏无法识别GPU、用不了DLSS的问题?

[编辑] 最终更新:我换了一块设备ID正确的GPU,现在问题解决了。

TLDR:Alienware笔记本更换主板后,RTX 4090移动GPU的设备ID在官方和厂商驱动里都找不到,手动通过.inf文件选驱动能在Windows用,但Ubuntu里直接正常工作。想问问为什么设备ID会错,以及有没有修复方法?

备注:内容来源于stack exchange,提问作者Sandro Grzicic

火山引擎 最新活动