介绍
当服务器未安装NVIDIA驱动、或驱动版本与显卡不匹配、或安装某些系统软件、或系统更新内核时,服务器重启后可能无法连接NVIDIA驱动,错误信息如下:
$ nvidia-smi NVIDIA-SMI 失败,因为它无法与 NVIDIA 驱动程序通信。请确保已安装并运行最新的 NVIDIA 驱动程序。
如何修复“NVIDIA-SMI 失败,因为它无法与 NVIDIA 驱动程序通信”错误
安装必要的内核头文件
如果之前都正常,重启后出现这个错误,很可能是Ubuntu内核版本升级导致的,我们重新安装一下内核头文件吧。
$ sudo apt install linux-headers-`uname -r` #or $ sudo apt install linux-headers-$(uname -r)
然后输入nvidia-smi,输出可能就正常了,如果还是错误,请继续下面的方法。
使用 DKMS 为内核重新安装 NVIDIA 驱动程序
有时重启机器后,NVIDIA SMI 会显示 NVIDIA 驱动程序丢失,这是由于 Linux 内核升级导致之前的 NVIDIA 驱动程序与连接不匹配导致的。
DKMS(动态内核模块系统)可以在内核更改后自动编译模块并适应新内核。它允许更新离散的内核模块,而无需修改整个内核。使用 dkms 可以重新安装适用于内核的驱动程序:
$ sudo apt install dkms $ sudo dkms install -m nvidia -v 470.182.03 $ dkms status nvidia nvidia/470.182.03, 5.15.0-88-generic, x86_64: installed
注意: 上面命令行中的 470.182.03 是 NVIDIA 的版本号,不清楚的时候,进入 /usr/src 目录,会看到以 nvidia 为后缀的文件夹。或者使用以下命令查询。
$ ls /usr/src | grep nvidia nvidia-470.182.03
当您再次输入 nvidia smi 时,熟悉的输出将会回来。
安装 NVIDIA 驱动程序的 3 种方法
1. 在 Linux 上通过命令行安装 Nvidia 驱动程序
步骤 1:在安装驱动程序之前,请确保更新软件包存储库。运行以下命令:
$ sudo apt update $ sudo apt upgrade
步骤 2:搜索 Nvidia 驱动程序,运行以下命令。输出将显示适用于你的 GPU 的驱动程序列表。
$ apt search nvidia-driver
步骤3:从可用的GPU驱动程序列表中选择要安装的驱动程序。最适合的是最新测试过的专有版本。
$ sudo apt install nvidia-driver-470
在本教程中,我们安装了 nvidia-driver-340,这是该 GPU 的最新测试专有驱动程序。
步骤 4:使用以下命令重新启动计算机:
# sudo reboot
2. 在 Ubuntu 上通过 PPA 存储库安装 Nvidia Beta 驱动程序
PPA 仓库允许开发者分发 Ubuntu 官方仓库中没有的软件。这意味着您可以安装最新的测试版驱动程序,但系统可能会不稳定。
要通过 PPA 存储库安装最新的 Nvidia 驱动程序,请按照以下步骤操作:
步骤 1:使用以下命令将图形驱动程序存储库添加到系统:
$ sudo add-apt-repository ppa:graphics-drivers/ppa
第 2 步:要验证您正在使用的 GPU 型号并查看可用驱动程序的列表,请运行以下命令:
$ ubuntu-drivers devices
步骤 3:输出显示您的 GPU 型号以及该特定 GPU 的所有可用驱动程序。要安装特定驱动程序,请使用以下语法:
$ sudo apt install nvidia-driver-470
或者,通过运行以下命令自动安装推荐的驱动程序:
$ sudo ubuntu-drivers autoinstall
步骤 4:重新启动机器以使更改生效。
3. 在 Linux 上通过 Runfile 安装程序安装 Nvidia 驱动程序
步骤1:NVIDIA 驱动程序以 .run 安装程序包的形式提供,可从NVIDIA 驱动程序下载 网站下载,适用于 Linux 发行版。请选择适合您 GPU 产品的 .run 安装程序包。
步骤2:可以使用 wget 下载 .run,如下例所示:
$ wget https://us.download.nvidia.com/XFree86/Linux-x86_64/470.223.02/NVIDIA-Linux-x86_64-470.223.02.run
步骤3:下载 .run 安装程序后,即可安装 NVIDIA 驱动程序:
$ sudo sh NVIDIA-Linux-x86_64-$DRIVER_VERSION.run
安装过程中请按照屏幕上的提示进行操作。有关使用 .run 安装程序的更多高级选项,请参阅 --help 选项。
步骤4:重新启动机器以使更改生效。