nvidia 驱动重装以及其中遇到的问题

因为眼花,我把服务器的gpu驱动给删了,镇定了下,决定不跑路,所以有了下面的方法:

cuda历史版本下载地址https://developer.nvidia.com/cuda-toolkit-archive

cudnn下载地址(https://developer.nvidia.com/rdp/cudnn-archive

ubuntu18.04 出现unmet dependencies错误

https://blog.youkuaiyun.com/u012223913/article/details/52964872

解决方案一

sudo apt-get install build-essential

如果这步也出现依赖问题,可以使用aptitude, 可以比apt-get更加智能地解决依赖问题,先安装它:

sudo apt-get install aptitude

使用aptitude:

sudo aptitude install build-essential

解决方案二:删除旧的CUDA

sudo apt-get remove nvidia-cuda-* # remove old nvidia-cuda packages

解决方案三:安装 unmet dependencies:

sudo apt-get install libcheese-gtk23 libcheese7

 

NVIDIA-SMI has failed because it couldn’t communicate with the NVIDIA driver. Make sure that the latest NVIDIA driver is installed and running.
如果碰到这个错误,也可以用下面方法来处理这个错误。

查看 CUDA 版本

cat /usr/local/cuda/version.txt

查看 CUDNN 版本:

cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2

显卡驱动所使用的内核版本

cat /proc/driver/nvidia/version

查看电脑驱动

cat /var/log/dpkg.log | grep nvidia

 

https://askubuntu.com/questions/451672/installing-and-testing-cuda-in-ubuntu-14-04 

1. 首先去英伟达官网,下载与自己gpu相匹配的驱动

https://developer.nvidia.com/cuda-downloads

 推荐升级顺序:

上面不行再看下面的方法

1.1 nvidia驱动下载

https://devtalk.nvidia.com/default/board/99/

2.1  首先在官网下载你自己显卡对应的驱动NVIDIA-Linux-x86_64-xxx.xx.run,拷贝到Linux某个目录后先改权限

chomod 777 NVIDIA-Linux-x86_64-xxx.xx.run

2.2   卸载原驱动

sudo apt-get remove --purge nvidia*  
# 提示有残留可以接 sudo apt-get autoremove --purge nvidia*
或者: sudo apt-get purge nvidia*

临时关闭显示服务

sudo service lightdm stop # 此命令若报不存在,就不用理会

运行安装程序

sudo ./NVIDIA-Linux-x86_64-XX你下载的程序XX.run

事情远远不是这么简单,一般情况下都会遇到卸载失败。

sudormmodnvidiarmmod:ERROR:Modulenvidiaisinuseby:nvidiamodesetnvidiauvm12

sudo rmmod nvidia
rmmod: ERROR: Module nvidia is in use by: nvidia_modeset nvidia_uvm


这时,就要一点一点的卸载整个驱动了,首先要知道现在kernel mod 的依赖情况,首先我们从错误信息中知道,nvidia_modeset nvidia_uvm 这两个 mod 依赖于 nvidia, 所以要先卸载他们

$lsmod | grep nvidia
nvidia_uvm            647168  0
nvidia_drm             53248  0
nvidia_modeset        790528  1 nvidia_drm
nvidia              12144640  152 nvidia_modeset,nvidia_uvm            12144640  152 nvidia_modeset,nvidia_uvm

可以看到 nvidia 被使用了152词,我们可以先卸载 nvidia_uvm 和 nvidia_modeset

先查看下有哪些进程使用了 nvidia*

sudo lsof -n -w /dev/nvidia*

最后

sudo rmmod nvidia_uvm
sudo rmmod nvidia_modeset
sudo rmmod nvidia
nvidia-smi

这些进程有个了解,如果一会卸载失败,记得关闭相关进程。

卸载

sudo rmmod nvidia_uvm
sudo rmmod nvidia_modeset

再 lsof 一遍,如果 nvidia 的使用 Used by 还没有降到 0,kill 相关进程

 https://blog.youkuaiyun.com/fengzhongluoleidehua/article/details/82626538

这个默认是全部安装,包括了驱动,cuda和例程,可以根据自己的需要进行选择。把括号里的X去掉,就是不需要这个功能。

安装后再重启显示

sudo service lightdm start

ubuntu下如何卸载nvidia显卡驱动?

答: sudo apt-get remove nvidia* -y

3 另外一种,在线安装

  • 安装nvidia驱动
    • 添加PPA到系统中
      sudo add-apt-repository ppa:graphics-drivers/ppa
    • 更新系统源
      sudo apt update
    • 查看ubuntu推荐驱动,这个命令不一定可以识别
      ubuntu-drivers devices
    • 安装驱动
      sudo apt-get install nvidia-XX你需要的版本号XX
    • 比如 sudo apt-get install nvidia-418
    • 也有可能这行命令失效,此时用 sudo apt install nvidia-driver-418(根据自身实际需要)
      • 或者安装所有驱动(千万不要安装重复版本驱动):sudo ubuntu-drivers autoinstall
    • 重启生效:sudo reboot
  • 查看安装驱动版本:nvidia-smi

安装 Nvidia-Docker

# Install nvidia-docker2 and reload the Docker daemon configuration
sudo apt-get install -y nvidia-docker2
sudo pkill -SIGHUP dockerd

# Test nvidia-smi with the latest official CUDA image
docker run --runtime=nvidia --rm nvidia/cuda nvidia-smi

https://github.com/NVIDIA/nvidia-docker/tree/master#upgrading-with-nvidia-docker2-deprecated

这里也有在线安装的方式

 

错误:docker: Error response from daemon: Unknown runtime specified nvidia

https://github.com/NVIDIA/nvidia-docker/issues/838

解决方法:

sudo systemctl daemon-reload
sudo systemctl restart docker

(1). 终端输入:

nvcc -V #若无反应,那就是路径没有填写正确

重启进入界面,打开终端输入:

export PATH="/usr/local/cuda-9.2/bin:$PATH" 
export LD_LIBRARY_PATH="/usr/local/cuda-9.2/lib64:$LD_LIBRARY_PATH" 

 如果在.bashrc中定义,则添加:

export CUDA_HOME=/usr/local/cuda-9.2 #根据自身情况修改
export LD_LIBRARY_PATH=/usr/local/cuda-9.2/lib64:$LD_LIBRARY_PATH
export PATH=/usr/local/cuda-9.2/bin:$PATH

https://www.askmetutorials.com/2018/03/install-uninstall-nvidia-driver-39042.html

上面这个基本也有参考价值

 

 

https://download.nvidia.com/XFree86/Linux-x86_64/418.56/NVIDIA-Linux-x86_64-418.56.run

sudo apt-get remove --purge nvidia*  
# 提示有残留可以接 sudo apt-get autoremove --purge nvidia*

添加PPA到系统中
sudo add-apt-repository ppa:graphics-drivers/ppa
更新系统源
sudo apt update
查看ubuntu推荐驱动,这个命令不一定可以识别
ubuntu-drivers devices
安装驱动
sudo apt-get install nvidia-XX你需要的版本号XX
比如 sudo apt-get install nvidia-418
也有可能这行命令失效,此时用 sudo apt install nvidia-driver-418(根据自身实际需要)

    或者安装所有驱动(千万不要安装重复版本驱动):sudo ubuntu-drivers autoinstall

重启生效:sudo reboot
sudo apt-get remove nvidia* -y
# Install nvidia-docker2 and reload the Docker daemon configuration
sudo apt-get install -y nvidia-docker2
sudo pkill -SIGHUP dockerd

# Test nvidia-smi with the latest official CUDA image
docker run --runtime=nvidia --rm nvidia/cuda nvidia-smi
sudo systemctl daemon-reload
sudo systemctl restart docker
apt-get remove --purge nvidia-410
apt-get autoremove

 

<think>好的,我现在需要在Ubuntu上卸载并重新安装NVIDIA驱动,但我不太确定具体步骤。首先,我应该怎么开始呢?我记得之前安装过CUDA工具包,可能需要先卸载相关的驱动。不过,我担心如果步骤不对可能会导致系统出现问题,比如图形界面无法启动或者出现黑屏。 首先,我需要找到当前安装的NVIDIA驱动版本。可能可以通过命令行查看,比如使用`nvidia-smi`命令。如果这个命令有效,应该会显示驱动版本和GPU信息。如果已经卸载了驱动,这个命令可能就不存在了,所以这可以帮助确认是否已经安装了驱动。 接下来,卸载现有的驱动。之前听说过一些方法,比如使用`apt-get purge`来删除所有NVIDIA相关的软件包。不过需要准确的包名,否则可能删不干净或者误删其他重要组件。可能需要运行`sudo apt-get purge *nvidia*`或者类似的命令,但不确定是否足够彻底。另外,有些教程提到需要禁用Nouveau驱动,这是Ubuntu默认的开源驱动,可能在安装NVIDIA驱动时需要先禁用它,否则会有冲突。禁用Nouveau通常需要编辑`/etc/modprobe.d/blacklist.conf`文件,添加黑名单条目,然后更新initramfs。 然后,重新安装驱动。安装方法有多种选择,比如使用Ubuntu的附加驱动管理工具,或者从NVIDIA官网下载.run文件手动安装。使用附加驱动可能更简单,但版本可能不是最新的。而手动安装可以获取最新驱动,但步骤更复杂,且需要关闭图形界面进入命令行模式。此外,安装完成后需要重启系统,并验证驱动是否正常工作。 另外,根据引用[3],有些错误的教程可能导致问题,比如升级ALSA导致音频问题,所以必须确保步骤正确且有可靠的撤销方法。因此,在卸载和安装过程中,最好记录所有操作,以便在出现问题时能够回滚。 可能遇到的问题包括:卸载不彻底导致新驱动安装失败,或者驱动版本与内核不兼容。需要确保安装的驱动版本与系统架构(如x86_64)和Ubuntu版本(如16.04)兼容,如引用[1]提到的CUDA安装指南中的选择。此外,安装后可能需要配置Xorg的配置文件,尤其是在多显卡或特殊配置的情况下。 总结步骤大概是:1. 检查当前驱动;2. 卸载现有驱动和相关包;3. 禁用Nouveau驱动;4. 更新系统并安装新驱动;5. 重启并验证。需要确保每一步都正确,并且有办法恢复,比如在卸载前创建系统备份或快照。 现在需要将这些步骤具体化,写出详细的命令行操作,并注意可能出现的错误点,比如在卸载时使用正确的包名,或者在安装时选择合适的驱动版本。同时,参考官方文档(如引用[2]的NVIDIA cuDNN安装指南)可能对确保步骤正确有帮助,虽然cuDNN主要是深度学习库,但驱动安装部分可能有共通之处。 最后,验证安装是否成功,除了`nvidia-smi`外,还可以通过系统设置的“关于”部分查看图形驱动,或者运行`glxinfo | grep "OpenGL renderer"`来确认是否使用了NVIDIA驱动。</think>### 分步指南:Ubuntu 卸载并重新安装 NVIDIA 驱动 #### 1. 确认当前安装的 NVIDIA 驱动版本 ```bash nvidia-smi ``` 若输出包含驱动版本(如`Driver Version: 535.154.05`),则说明驱动已安装。若无输出或报错,可能驱动未正确安装或已卸载[^1]。 --- #### 2. 卸载现有 NVIDIA 驱动 **步骤 2.1 禁用 Secure Boot(如有必要)** - 在 UEFI 设置中禁用 Secure Boot,否则可能导致驱动无法加载。 **步骤 2.2 完全卸载 NVIDIA 驱动及依赖** ```bash sudo apt-get purge *nvidia* *cuda* *cudnn* # 清除所有 NVIDIA 相关包 sudo apt-get autoremove # 删除未使用的依赖 ``` **步骤 2.3 禁用开源驱动 Nouveau** ```bash sudo nano /etc/modprobe.d/blacklist-nouveau.conf ``` 添加以下内容: ``` blacklist nouveau options nouveau modeset=0 ``` 保存后执行: ```bash sudo update-initramfs -u sudo reboot # 重启生效 ``` --- #### 3. 安装新版本 NVIDIA 驱动 **方法一:通过 Ubuntu 官方仓库安装(推荐)** ```bash ubuntu-drivers devices # 查看可用驱动版本 sudo ubuntu-drivers autoinstall # 自动安装推荐版本 # 或手动选择版本 sudo apt install nvidia-driver-535 # 替换为所需版本号 ``` **方法二:手动安装官方 .run 文件** ```bash # 下载驱动(从 https://www.nvidia.com/Download/index.aspx) sudo telinit 3 # 进入命令行模式 sudo sh ./NVIDIA-Linux-x86_64-535.154.05.run # 运行安装程序 # 按提示操作,完成后重启 ``` --- #### 4. 验证安装 ```bash nvidia-smi # 应显示驱动版本和 GPU 状态 glxinfo | grep "OpenGL renderer" # 输出应为 NVIDIA 显卡型号 ``` --- #### 5. 常见问题解决 - **黑屏/循环登录**:尝试在 GRUB 引导时选择恢复模式,卸载驱动重装。 - **驱动冲突**:确保彻底清除旧驱动残留(如残留配置文件)。 - **内核更新导致驱动失效**:使用`sudo apt install nvidia-dkms`可自动重建内核模块。 --- ### 引用说明 - 引用[1]提到 CUDA 工具包安装需匹配系统版本(如 Ubuntu 16.04),驱动安装同理。 - 引用[3]警告避免随意跟随非官方教程,建议优先使用官方仓库或可靠文档[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值