Skip to content

NVIDIA 显卡驱动安装

nvidia-smi-install.sh用于在主流Linux发行版安装NVIDIA显卡驱动,安装完成后会同时提供nvidia-smi

1. 使用前须知

脚本仅支持Linux x86_64,可识别Ubuntu 20.04/22.04/24.04、Debian 11/12、RHEL系8/9/10、Fedora、openSUSE/SLES、Arch和Manjaro;未适配官方仓库的发行版会自动改用NVIDIA runfile

安装驱动会更换内核模块并需要root权限。执行前应安排维护窗口、停止正在使用GPU的推理或训练任务,并确认当前内核对应的头文件可以安装

WSL 用户

WSL的NVIDIA驱动由Windows宿主机提供,不要在WSL内运行此脚本。请在Windows安装兼容驱动后,在WSL内执行nvidia-smi验证

2. 下载并检查脚本

bash
mkdir -p ~/imrouter-installers
cd ~/imrouter-installers
curl -fL https://www.imrouter.com/docs/scripts/nvidia-smi-install.sh \
  -o nvidia-smi-install.sh
chmod +x ./nvidia-smi-install.sh
bash ./nvidia-smi-install.sh --help

建议先阅读帮助信息并确认脚本参数,再使用sudo执行。不要使用curl | bash直接运行远程内容

3. 选择驱动分支

脚本支持以下驱动分支:

分支默认内核模块适用说明
595open默认最新生产分支,仅适用于Turing/RTX 20及更新显卡
580openLTSB分支,Maxwell/Pascal/Volta支持到此分支,老卡需使用闭源模块
575、570open适用于支持open内核模块的新显卡
550、535闭源较旧CUDA 12.x环境或需要旧分支兼容性时使用

不确定时可先查看显卡型号:

bash
lspci | grep -i nvidia

Turing之前的Maxwell、Pascal和Volta显卡应选择580分支并显式使用闭源模块:

bash
sudo bash ./nvidia-smi-install.sh \
  --branch 580 \
  --proprietary

4. 执行安装

交互式安装,默认选择595分支和仓库方式:

bash
sudo bash ./nvidia-smi-install.sh

非交互安装默认分支:

bash
sudo bash ./nvidia-smi-install.sh --yes

指定驱动分支:

bash
sudo bash ./nvidia-smi-install.sh \
  --branch 550 \
  --proprietary \
  --yes

强制使用NVIDIA runfile:

bash
sudo bash ./nvidia-smi-install.sh \
  --method runfile \
  --yes

默认仓库不支持目标发行版或指定分支时,脚本会自动降级到runfile。已经安装相同分支时默认跳过;需要覆盖重装可增加--force

5. 重启并验证

驱动安装完成后必须重启,使新内核模块生效:

bash
sudo reboot

机器恢复后执行:

bash
nvidia-smi
nvidia-smi --query-gpu=name,driver_version,memory.total \
  --format=csv,noheader

能够正常显示GPU型号、驱动版本和显存容量后,再继续安装CUDA Toolkit或启动imrouter节点

6. 常见问题

nouveau 已加载

runfile方式检测到nouveau时,会写入/etc/modprobe.d/blacklist-nouveau.conf并重建initramfs,然后要求重启。完成重启后重新执行同一条安装命令即可继续

Secure Boot 导致驱动无法加载

脚本只会检测并告警,不会自动处理模块签名。应为DKMS模块登记MOK,或按服务器安全策略关闭Secure Boot,再重新安装或加载驱动

重启后 nvidia-smi 仍报错

检查当前内核、DKMS状态和内核日志:

bash
uname -r
dkms status
journalctl -k -b | grep -iE 'nvidia|nouveau'

确认内核头文件与当前内核匹配,并排除Secure Boot或nouveau仍在阻止NVIDIA模块加载

imrouter 文档