厦门服务器租用>业界新闻>5090 GPU服务器Ubuntu驱动冲突如何解决?

5090 GPU服务器Ubuntu驱动冲突如何解决?

发布时间:2026/6/10 17:00:30    来源: 纵横数据

新硬件配新系统,驱动永远是第一道坎。5090这张卡刚出来的时候,不少人在Ubuntu上装驱动都碰了壁。黑屏、卡日志、签名验证失败——各种状况层出不穷。我前前后后折腾了好几台5090服务器,踩过的坑不算少,今天把经验系统性地梳理一下。

先说一个核心结论:5090在Ubuntu上的驱动问题,大部分不是卡本身的问题,而是Linux内核版本、NVIDIA驱动分支、系统安全策略这三者之间的版本不匹配造成的。理解了这一点,解决问题的思路就清晰了。

冲突到底从哪来

5090作为Blackwell架构的新卡,对驱动的版本要求非常严格。实测下来,570.x版本是必须的,旧版本驱动根本不认这张卡。这是第一个硬性门槛

第二个门槛是Linux内核版本。5090需要比较新的内核才能正常工作,具体来说,Ubuntu 24.04默认的6.8内核是不够的,需要升级到6.13或更高版本。很多人在这一步就卡住了——系统装好了,但内核太老,驱动装上去各种报错。

第三个门槛是Secure Boot。Ubuntu默认开启安全启动,而NVIDIA的闭源驱动模块没有用系统信任的密钥签名,加载时会被拒绝。这就导致一个很迷惑的现象:驱动明明装成功了,重启后nvidia-smi却找不到卡,或者直接黑屏进不了桌面。

这三个问题叠加在一起,不出问题才怪。

安装前的准备工作

在动驱动之前,先把基础环境准备好,能省掉后面90%的麻烦。

第一步是安装系统时的黑屏问题。用5090装Ubuntu 24.04时,选择“Try or Install Ubuntu”之后经常会卡在黑屏界面,停在booting command list不动。解决方法是在GRUB启动菜单中按e编辑启动参数,在linux行末尾添加nomodeset acpi=off noapic,然后按F10启动。这个参数的作用是禁用内核的图形模式切换,让安装程序能正常显示界面。

系统装好之后,第一件事是升级内核。用mainline工具安装6.13版本的内核。装完重启,uname -a确认内核版本已经更新。这一步非常关键,内核对不上,后面怎么折腾都白费。

第二步是安装编译依赖。NVIDIA驱动在安装过程中需要编译内核模块,build-essential和对应内核版本的headers缺一不可。命令如下:

sudo apt update

sudo apt install build-essential linux-headers-$(uname -r)

第三步是处理GCC版本问题。这里有个容易忽略的坑:你的内核是用什么版本的GCC编译的,安装驱动时就应该用同样版本的GCC。我遇到过一个典型的报错:“Compiler version mismatch: Your kernel was built with GCC 14, but you are using GCC 13”。解决方法是把GCC升级到14,或者使用update-alternatives切换默认GCC版本。

驱动安装的核心步骤

准备工作做完,正式开始装驱动。

屏蔽nouveau开源驱动

Ubuntu默认加载了nouveau这个开源的NVIDIA驱动,但它和官方闭源驱动是冲突的。不屏蔽它,官方驱动装完重启后大概率黑屏。

编辑黑名单文件:

sudo nano /etc/modprobe.d/blacklist-nouveau.conf

写入以下内容:

blacklist nouveau

options nouveau modeset=0

保存后更新initramfs并重启:

sudo update-initramfs -u

sudo reboot

重启后执行lsmod | grep nouveau,如果没有输出,说明屏蔽成功。

选择正确的驱动版本

5090需要570.x或更高版本的驱动。有两种安装方式。

方式一:使用Ubuntu的apt源。Ubuntu在2025年5月左右已经把NVIDIA 570驱动反向移植到了22.04和24.04的仓库中。可以直接用以下命令安装:

sudo apt update

sudo apt install nvidia-driver-570

但注意一点:对于Ubuntu 24.04,有用户反馈需要安装带-open后缀的版本才能正常识别5090:

sudo apt install nvidia-driver-570-server-open

方式二:从NVIDIA官网下载.run文件手动安装。这种方式更灵活,可以精确控制安装选项,但步骤多一些。下载对应版本的.run文件后,赋予执行权限并运行:

chmod +x NVIDIA-Linux-*.run

sudo ./NVIDIA-Linux-*.run

处理Secure Boot问题

这是最常见的冲突源之一。当Secure Boot启用时,系统只允许加载经过签名的内核模块,而NVIDIA驱动模块没有使用被系统信任的密钥进行签名,会导致加载失败。

有几种解决方法。

最简单粗暴的方法是在BIOS中禁用Secure Boot。重启进入BIOS设置,找到Secure Boot选项并设为Disabled。这个方法最省事,但会降低系统安全级别。

如果不想降低安全性,可以为NVIDIA驱动创建并注册自定义密钥。步骤如下:

# 安装必要工具

sudo apt install mokutil openssl

# 创建密钥对

openssl req -new -x509 -newkey rsa:2048 -keyout MOK.priv -outform DER -out MOK.der -nodes -days 36500 -subj "/CN=NVidia Driver Signing Key/"

sudo chmod 600 MOK.priv MOK.der

# 注册密钥到MOK

sudo mokutil --import MOK.der

系统会提示设置一个密码,记住它。重启后会进入MOK management蓝色界面,选择“Enroll MOK” → “Continue” → “Yes”,输入密码完成注册。

注册完成后,驱动模块加载时就能通过签名验证了。

安装过程中的交互选项

如果使用.run文件安装,安装过程中会遇到几个交互式问题:

第一个是“The distribution-provided pre-install script failed”,选择Continue installation即可。

第二个是DKMS注册问题,选择No。因为手动安装的场景下,DKMS自动编译后续内核版本可能会出问题,不如等需要时再手动处理。

第三个是32位兼容库,如果不需要运行32位应用,选No。

第四个是x配置自动更新,选择Yes,这样重启后X Server能正确使用NVIDIA驱动。

重启X服务

安装完成后,重启图形服务:

sudo service lightdm restart

如果使用的是gdm3或其他显示管理器,可能需要重启整个系统才能生效。

安装后的验证

驱动装完后,执行nvidia-smi。如果能看到显卡信息和驱动版本号,说明安装成功了。

如果nvidia-smi报错或者找不到设备,按以下顺序排查:

第一,检查驱动模块是否加载成功:lsmod | grep nvidia。如果没有输出,说明模块没加载上,通常是Secure Boot的问题。

第二,检查内核日志:dmesg | grep -i nvidia。如果看到“module verification failed: signature and/or required key missing”之类的信息,说明还是签名问题。

第三,如果系统能启动但图形界面卡顿,可以尝试禁用GSP(GPU System Processor)。在/etc/modprobe.d/目录下创建nvidia.conf文件,写入options nvidia NVreg_EnableGpuFirmware=0,然后update-initramfs -u并重启。

一个真实案例:PCIe兼容性问题的解决

讲一个比较典型的案例。有用户在笔记本电脑上安装5090驱动,试了所有方法都失败——用apt装驱动黑屏,用.run装也黑屏,加上nomodeset参数后系统直接冻结。

排查了很久,最后发现问题出在PCIe 5.0兼容性上。他把BIOS中的PCIe速度从Auto/5.0改为4.0,然后用NVIDIA的固件更新工具升级了GPU固件。更新完成后,再把PCIe速度改回5.0,显卡就能正常工作了。

这个案例说明了一个容易被忽视的问题:新硬件之间的磨合有时候不是驱动本身的问题,而是底层协议或固件的兼容性。遇到实在解决不了的情况,查一查显卡有没有固件更新,或者在BIOS里把PCIe降一代试试。

不同Ubuntu版本的差异

Ubuntu 22.04和24.04在5090驱动安装上还是有些区别的。

对于22.04,系统自带的ubuntu-drivers工具可能还识别不了5090,推荐使用NVIDIA官网的.run安装程序,并且建议选择开源驱动版本(MIT协议)。

对于24.04,可以用apt直接安装nvidia-driver-570-server-open这个包。注意一定要带-open后缀,否则可能出现“No devices found”的错误。

另外,24.04默认的Wayland显示服务器和NVIDIA驱动之间的兼容性还在完善中。如果遇到图形界面问题,可以切回Xorg试试。

总结

5090在Ubuntu上的驱动问题,归纳起来就几个关键点。

内核版本必须够新,6.13是最低要求。驱动版本必须570以上,低了不认卡。Secure Boot要么关掉,要么自己签个证书。nouveau必须屏蔽,不然装完黑屏。最后,如果所有方法都试了还是不行,去查查BIOS设置和固件版本,特别是PCIe相关配置。

做这些操作的时候,建议一步一步来。每次只改一个变量,装完驱动重启验证,没问题了再继续下一步。批量改完再验证,出了问题根本不知道是哪一步导致的。

另外,每次操作前把重要数据备份好。驱动折腾的过程中,进不去桌面是常有的事,有备无患。


在线客服
微信公众号
免费拨打0592-5580190
免费拨打0592-5580190 技术热线 0592-5580190 或 18950029502
客服热线 17750597993
返回顶部
返回头部 返回顶部