type
status
date
slug
tags
summary
category
password
icon
最近一台机器(环境为:Ubuntu+NVIDIA-430.34)重启后发生了找不到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的驱动模块。
- 安装DKMS, DKMS全称是Dynamic Kernel Module Support,它可以帮我们维护内核外的驱动程序,在内核版本变动之后可以自动重新生成新的模块。
sudo apt-get install dkms
- 查看安装的NVIDIA-GPU驱动版本
ls /usr/src

- 重新生成驱动模块
sudo dkms install -m nvidia -v 430.34
- 若成功,可以看到显卡信息。
nvidia-smi
- 重新设置内核禁止更新
uname -a # 查看正在使用的内核,e.g. linux-image-4.15.0-88-generic sudo apt-mark hold linux-image-4.15.0-88-generic
- 作者:GraphPKU
- 链接:graphpku.cn/article/056d1217-61c7-466f-9d45-b73d547d1fc9
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。