【运维】Ubuntu 显卡驱动卸载及重装
背景
这里包含显卡驱动和CUDA驱动,在如下场景下,我们需要卸载显卡驱动并重新安装。
- 在某些情况下需要对显卡驱动进行升级
- 某些情况下(如重启,或者调整系统配置等),系统出问题导致显卡驱动掉了,需要重新安装
在上述过程中,经常会出现一些问题导致显卡驱动安装失败,本文参考官方给定的一些方式安装。
驱动卸载
- 使用apt卸载相应驱动(不用care是否存在)
# sudo apt --purge remove nvidia* sudo apt --purge remove "*cublas*" "cuda*" sudo apt --purge remove "*nvidia*" sudo apt autoremove
- 上述操作完成后,并不一定生效,还要使用安装后提供的工具卸载存在的驱动 这里的文件不一定存在,取决于一开始的cuda 安装方式,如果不存在,直接跳过即可
# 这里会弹出界面让你确认卸载内容,根据提示操作即可,选择上所有组件进行卸载 sudo /usr/local/cuda-**.*/bin/cuda-uninstaller # 完成上述操作后,可能会有残留文件需要阐述 sudo rm -rf /usr/local/cuda*
卸载完驱动后,需要重启。
驱动安装
CUDA驱动安装
(不推荐)以CUDA 12.3 为例。注意,如果使用官方run文件的形式安装可能会报错,推荐如下方式安装。
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-ubuntu2204.pin
sudo mv cuda-ubuntu2204.pin /etc/apt/preferences.d/cuda-repository-pin-600
wget https://developer.download.nvidia.com/compute/cuda/12.3.2/local_installers/cuda-repo-ubuntu2204-12-3-local_12.3.2-545.23.08-1_amd64.deb
sudo dpkg -i cuda-repo-ubuntu2204-12-3-local_12.3.2-545.23.08-1_amd64.deb
# sudo dpkg -i /home/euler/Downloads/cuda.deb
sudo cp /var/cuda-repo-ubuntu2204-12-3-local/cuda-*-keyring.gpg /usr/share/keyrings/
sudo apt-get update
sudo apt-get -y install cuda-toolkit-12-3
完成上述安装后,nvcc -V
命令应该可以正常工作,但 nvidia-smi
无法正常工作。
(推荐)CUDA Toolkit 12.6 Update 2 Downloads
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-ubuntu2204.pin
sudo mv cuda-ubuntu2204.pin /etc/apt/preferences.d/cuda-repository-pin-600
wget https://developer.download.nvidia.com/compute/cuda/12.6.2/local_installers/cuda-repo-ubuntu2204-12-6-local_12.6.2-560.35.03-1_amd64.deb
sudo dpkg -i cuda-repo-ubuntu2204-12-6-local_12.6.2-560.35.03-1_amd64.deb
sudo cp /var/cuda-repo-ubuntu2204-12-6-local/cuda-*-keyring.gpg /usr/share/keyrings/
sudo apt-get update
sudo apt-get -y install cuda-toolkit-12-6
# 驱动安装
sudo apt-get install -y nvidia-open
sudo apt-get install -y cuda-drivers
sudo apt-get install -y nvidia-container-toolkit
不重启生效方式
首先,卸载旧的 NVIDIA 内核模块并加载新的模块:
sudo rmmod nvidia-drm nvidia-modeset nvidia
sudo modprobe nvidia
sudo modprobe nvidia-modeset
sudo modprobe nvidia-drm
重启显示服务器(X Server)
你可以重启 X Server 以重新加载驱动程序:
sudo systemctl restart gdm3
如果你使用的是其他显示管理器(如 lightdm
),可以使用以下命令重启:
sudo systemctl restart lightdm
注意:重启 X Server 会导致当前会话断开连接,因此需要保存工作,以避免数据丢失。
3. 验证驱动是否已生效
你可以使用以下命令检查 NVIDIA 驱动是否已经正确加载:
nvidia-smi
评论区