必须禁用Nouveau驱动、清除残留组件,再通过仓库或官方.run文件安装;安装后验证nvidia等模块是否正常加载。

一、禁用 Nouveau 开源驱动
Nouveau 是 Linux 内核中默认启用的开源 NVIDIA 驱动,会与官方闭源驱动产生模块冲突,导致安装失败或图形界面异常。必须在安装前彻底禁用该模块,并确保其不再加载进内核。
1、创建黑名单配置文件:sudo nano /etc/modprobe.d/blacklist-nouveau.conf
2、在文件中写入以下两行内容:blacklist nouveau
options nouveau modeset=0
3、更新 initramfs 镜像以使黑名单生效:sudo update-initramfs -u
4、重启系统:sudo reboot
5、验证禁用是否成功:重启后运行 lsmod | grep nouveau,若无任何输出,则表示 Nouveau 已被完全屏蔽。
二、卸载残留 NVIDIA 驱动组件
若此前曾安装过 NVIDIA 官方驱动或通过包管理器安装过驱动包,残留的内核模块、库文件或配置可能干扰新驱动安装。需清除全部历史痕迹,确保环境干净。
1、列出所有已安装的 NVIDIA 相关软件包:dpkg -l | grep nvidia(Debian/Ubuntu)或 rpm -qa | grep nvidia(RHEL/CentOS/Fedora)
2、彻底清除所有 NVIDIA 驱动及其依赖:sudo apt purge nvidia-*(Ubuntu/Debian)或 sudo dnf remove nvidia-*(Fedora)或 sudo yum remove nvidia-*(CentOS 7)
3、手动删除可能残留的模块目录:sudo rm -rf /lib/modules/$(uname -r)/kernel/drivers/video/nvidia*
4、清理 initramfs 缓存并重建:sudo update-initramfs -u(Debian/Ubuntu)或 sudo dracut --force(RHEL/Fedora)
三、使用发行版仓库自动安装驱动
此方法由系统维护者预编译并签名,兼容性高、升级便捷,适用于绝大多数桌面用户,无需手动干预内核模块构建过程。
1、更新软件包索引:sudo apt update(Ubuntu/Debian)或 sudo dnf makecache(Fedora)或 sudo yum makecache(CentOS 7)
2、查询推荐驱动版本:ubuntu-drivers devices(Ubuntu)或 dnf list available kmod-nvidia\* --refresh(Fedora)
3、安装推荐驱动(含 DKMS 支持):sudo apt install nvidia-driver-535(示例版本,按实际推荐替换)
4、安装完成后重启系统:sudo reboot
四、手动运行官方 .run 文件安装
该方式可获取 NVIDIA 官网最新版驱动(含 beta 支持),适用于需特定功能(如 CUDA 12.8 兼容、WDDM 模式调试)或仓库未同步新版的场景。需关闭图形服务并在字符终端执行。
1、从 https://www.nvidia.cn/Download/index.aspx?lang=cn 下载匹配显卡型号与系统架构(x86_64)的 .run 文件
2、赋予执行权限:chmod +x NVIDIA-Linux-x86_64-535.129.03.run
3、停止显示管理器:sudo systemctl stop gdm3(Ubuntu)或 sudo systemctl stop sddm(KDE)或 sudo systemctl stop lightdm(Debian/LXQt)
4、切换至虚拟控制台(如 Ctrl+Alt+F3),登录后执行安装:sudo ./NVIDIA-Linux-x86_64-535.129.03.run --no-opengl-files --no-opengl-libs
5、安装过程中,当提示是否安装 NVIDIA 32 位兼容库时,64 位系统可选 No;当提示是否注册 DKMS 时,建议选 Yes;当提示是否覆盖现有 X config 时,选 Yes
五、验证内核模块加载状态
驱动安装完成后,需确认 NVIDIA 内核模块(nvidia、nvidia_modeset、nvidia_uvm、nvidia_drm)已正确载入且无错误日志,这是图形加速与 CUDA 调用的前提。
1、检查模块是否加载:lsmod | grep nvidia
2、查看模块详细信息:modinfo nvidia
3、确认模块版本与安装包一致:cat /proc/driver/nvidia/version
4、检测 GPU 设备识别状态:nvidia-smi -L
5、检查内核日志中是否存在模块加载错误:dmesg | grep -i nvidia











