Ubuntu重启后找不到NVIDIA-GPU驱动

最近一台机器(环境为:Ubuntu+NVIDIA-384.130)重启后发生了找不到GPU驱动的问题:

NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver. Make sure that the latest NVIDIA driver is installed and running.

这个问题的原因一般是Ubuntu的内核版本更新了,而显卡驱动是在低版本的内核时安装的,因此发生了不兼容的问题。以往的解决方法是修改Ubuntu默认开机启动的内核版本:需要找到之前使用的内核版本(查看系统已安装内核版本时发现有好几个,也忘记之前安装驱动时内核版本是哪个),并修改grub开机配置,之后便是删除无用内核并禁止内核更新(记得之前已做过这个步骤,但这次内核还是更新了?)

鉴于上述方法过于复杂,这次采用新的方法:基于新的内核重新生成GPU的驱动模块。

  1. 安装DKMS
    DKMS全称是Dynamic Kernel Module Support,它可以帮我们维护内核外的驱动程序,在内核版本变动之后可以自动重新生成新的模块。

sudo apt-get install dkms

查看安装的NVIDIA-GPU驱动版本

ls /usr/src

重新生成驱动模块

sudo dkms install -m nvidia -v 384.130

检验

nvidia-smi

重新设置内核禁止更新

uname -a  # 查看正在使用的内核,e.g. linux-image-4.15.0-88-generic
sudo apt-mark hold linux-image-4.15.0-88-generic

若成功,可以看到显卡信息。


插曲

在安装dkms时出现了两个小问题:

1、当前源中找不到相应的安装包

1)使用 sudo vim /etc/apt/sources.list 修改镜像源
2)然后执行 sudo apt-get update 更新

## 阿里源
deb http://mirrors.aliyun.com/ubuntu/ trusty main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-backports main restricted universe multiverse

2、该死的samba服务报错信息。

dpkg: error processing package samba (--configure):
dependency problems - leaving unconfigured
Errors were encountered while processing:
samba-common
samba-common-bin
samba
E: Sub-process /usr/bin/dpkg returned an error code (1)

## 解决方案:
$ sudo mv /var/lib/dpkg/info /var/lib/dpkg/info_old     //现将info文件夹更名
$ sudo mkdir /var/lib/dpkg/info     //再新建一个新的info文件夹
$ sudo apt-get update
$ sudo apt-get -f install
$ sudo mv /var/lib/dpkg/info/* /var/lib/dpkg/info_old
//执行完上一步操作后会在新的info文件夹下生成一些文件,现将这些文件全部移到info_old文件夹下
$ sudo rm -rf /var/lib/dpkg/info     //把自己新建的info文件夹删掉
$ sudo mv /var/lib/dpkg/info_old /var/lib/dpkg/info     //把以前的info文件夹重新改回名字

  • 20
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值