Ubuntu 安装 NVIDIA 显卡驱动(18.04 / 22.04)

Ubuntu 安装 NVIDIA 显卡驱动(18.04 / 22.04)

⚠️ BIOS 先关闭 Secure Boot,否则驱动模块无法加载。
以下流程已在 Ubuntu 18.04 与 22.04 实机验证通过。

一、前期准备

  1. 查看系统版本:lsb_release -a (或cat /etc/os-release)
    在这里插入图片描述

  2. 查看显卡:lspci | grep -i nvidia
    在这里插入图片描述

    如果显示的是设备ID(例如10de:1b80 ),将ID复制到PCI devices查看显卡型号,便于官网选对驱动

  3. 下载 NVIDIA 驱动:
    访问 NVIDIA 官网 选择对应显卡型号,下载 .run 文件,如:NVIDIA-Linux-x86_64-535.261.03.run

    在这里插入图片描述
    在这里插入图片描述

    驱动向下兼容,决定 可安装的最高 CUDA Toolkit 版本。
    查看CUDA版本所需的最低驱动版本(官网查看更多):
    在这里插入图片描述

二、安装前清理

1.禁用 Nouveau 驱动

Nouveau 是 Ubuntu 默认开源驱动,可能与 NVIDIA 官方驱动冲突。不当操作会导致黑屏和登陆循环。

sudo tee /etc/modprobe.d/blacklist-nouveau.conf <<'EOF'
blacklist nouveau
options nouveau modeset=0
EOF

cat /etc/modprobe.d/blacklist-nouveau.conf #查看是否设置成功
sudo update-initramfs -u  #生效 
sudo reboot
lsmod | grep nouveau      # 无输出即成功

2. 卸载旧 NVIDIA(若从未安装可跳过)

安装方式卸载命令
.run 安装sudo ./NVIDIA-*.run --uninstall
apt 安装sudo apt purge nvidia* -y && sudo apt autoremove -y

3. 安装正确版本的 gcc、g++

注意gcc版本,不同系統、驱动版本對gcc版本要求不同

  • Ubuntu 22.04安装软件仓库中自带的 GCC 11.x 版本

    sudo apt update
    sudo apt install build-essential 
    #`build-essential` 是一个元包,内含 GCC、G++、Make 等常用构建工具。
    
    #安装完成后验证版本
    gcc --version
    g++ --version
    make --version
    
  • Ubuntu 22.04 安装 535.261.03 需要 gcc-12

    sudo apt update
    sudo apt install gcc-12 g++-12
    ### 使用 `update-alternatives`设置为默认gcc版本:
    sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-12 60 \
      --slave /usr/bin/g++ g++ /usr/bin/g++-12
    sudo update-alternatives --config gcc   
    
    gcc --version #验证
    

三、切换到命令行模式

根据你的系统环境,执行以下对应命令:

桌面环境关闭图形界面命令
GNOMEsudo systemctl stop gdm3
lightdmsudo service lightdm stop

Ubuntu 22.04 使用GDM3
Ubuntu 18.04 使用lightdm
⚠️ 不确定桌面管理器?
cat /etc/X11/default-display-manager 查看输出 /usr/sbin/gdm3/usr/sbin/lightdm

ctrl+alt+f2 #进入命令行界面


四、正式安装驱动

cd ~/Downloads            # 驱动下载目录
sudo chmod +x NVIDIA-Linux-x86_64-535.261.03.run
sudo ./NVIDIA-Linux-x86_64-535.261.03.run \
  --no-opengl-files \
  --no-x-check \
  --no-nouveau-check
参数作用
--no-opengl-files防止与系统自带 OpenGL 冲突
--no-x-check跳过 X 服务检查
--no-nouveau-check跳过 nouveau 检查

安装完成后:

nvidia-smi        # 出现显卡信息即成功

在这里插入图片描述
若能看到显卡型号、驱动版本、CUDA 版本等信息,说明安装成功。


五、恢复图形界面并重启

sudo systemctl start gdm3   # 或 sudo service lightdm start
sudo reboot
nvidia-smi                  # 再次确认

六、常见错误排查

  • Unable to load the kernel module 'nvidia.ko'. This happens most frequently when this kernel module was built against the wrong or improperly configured kernel sources, with a version of gcc that differs from the one used to build the target kernel, or if another driver, such as nouveau, is present and prevents the NVIDIA kernel module from obtaining ownership of the NVIDIA GPU(s), or no NVIDIA GPU installed in this system is supported by this NVIDIA Linux graphics driver release.

    解决思路:
    		1.是否卸载干净
    		2.排查是否nouveau干扰
    		3.排查安装命令是否有-no-x-check
    
  • ERROR: An error occurred while performing the step: “Building kernel modules”. See /var/log/nvidia-installer.log for details.
    在这里插入图片描述
    1.排查是否是gcc版本导致的错误

    vi /var/log/nvidia-installer.log-
    搜索 gcc看是否因为 gcc 版本问题(:?gcc)
    如下图显示则根据要求安装gcc
    在这里插入图片描述

  • 黑屏 / 登录循环

    解决思路:
    1. 确认 `--no-opengl-files`
    2. 检查 `/var/log/Xorg.0.log` 
    

七、后续维护

  • 禁止自动升级内核(避免驱动失效)
    sudo apt-mark hold linux-image-$(uname -r) linux-headers-$(uname -r)
    
    apt-mark hold执行后可以保持内核版本不变,除非解除 hold ;
    sudo apt-mark unhold linux-image-$(uname -r) linux-headers-$(uname -r) #解除 hold 的方法
    apt-mark showhold #查看被 hold 的包
    
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值