解决显卡驱动报错、nvidia-smi出不来、NVIDIA driver is installed and running.couldn‘t communicate with the NVIDIA

本文介绍了在Linux系统中遇到nvidia-smi无法使用的三个解决方案:一是通过`sudo modprobe nvidia`,二是通过安装DKMS和指定驱动版本,三是根据内核版本选择兼容的旧内核启动。还包括了如何关闭系统自动更新的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本期,我们来解决显卡驱动报错,nvidia-smi出不来的问题。

在我们应用linux系统时,可能一个偶然,更新了显卡驱动,导致我们在使用nvidia-smi时会出现报错,导致我们在代码训练时,查看不到它的一个工作状态。

下面我们将提出三个方法,来解决这个问题!

方法一:

        在terminal终端输入 sudo modprobe nvidia ,然后再运行nvidia-smi,即可解决。

        

 方法二:

        只需要三条命令就好。

        terminal终端输入命令 ll /usr/src/ ,下面会出现一个文件夹

        

         sudo apt-get install dkms

         sudo dkms install -m nvidia -v 470.63.01(470.63.01表示的是驱动版本号),即可解决

方法三:

        启动系统时,选择与之显卡驱动匹配的旧版本系统内核,重启系统之前可使用命令uname -r查看。

        当前系统内核版本。

        

        现在重启系统,在进行ubuntu启动引导的界面时,就是刚开始叫你选择操作系统的界面,选择。

        “ubuntu高级选项”,选择一个以前的内核版本,作者的新版本是5.3.0-40-generic,然后选择一个离。

        新版本最接近的低版本内核5.3.0-26-generic,然后成功进入系统。

        任意使用上面一种方法后,再次使用nvidia-smi命令就可以成功看到显卡信息了;

        也可以使用watch -n 0.2 nvidia-smi命令实时查看显卡工作情况,0.2表示每间隔0.2秒刷新一次。

附:

        命令行关闭系统自动更新,使用命令打开文件并编辑

        sudo vim /etc/apt/apt.conf.d/10periodic

        

         将双引号中的 字符 全部置“0”即可,修改后保存。

        如果要使用图形界面来关闭自动更新,找到系统设置(System Settings) --> 软件更新(Software & Updates) 

 

<think>好的,我现在要解决用户的问题:NVIDIA-SMI无法与NVIDIA驱动程序通信。用户提到他们已经安装了显卡驱动,但运行nvidia-smi时仍然报错。我需要根据提供的引用信息整理出解决方案。 首先,我应该检查驱动是否正确安装。用户可能安装了驱动,但可能没有正确加载。这时候需要检查驱动模块是否加载,使用lsmod | grep nvidia命令。如果没有输出,说明驱动没有加载,可能需要手动加载或者重启系统。 然后,内核版本与驱动不兼容也是一个可能的原因。特别是如果系统自动更新了内核,而驱动是为旧内核编译的。这时候需要确认当前运行的内核版本是否与安装驱动时的版本一致。如果不一致,可能需要重新安装驱动,或者禁止内核自动更新,如引用4中提到的方法。 另外,用户可能在安装驱动后没有更新initramfs,导致启动时无法加载驱动模块。这时候需要执行sudo update-initramfs -u来更新初始化内存文件系统,然后重启系统。 还有可能是驱动被其他程序占用或者冲突,比如nouveau开源驱动没有禁用。需要检查/etc/modprobe.d/blacklist.conf文件,确保已经禁用了nouveau,并重新生成内核引导文件。 用户还可能遇到Secure Boot的问题,特别是在UEFI系统中,Secure Boot可能会阻止第三方驱动加载。这时候需要进入BIOS设置,禁用Secure Boot,然后重新生成签名或加载驱动。 最后,如果以上步骤都无效,可能需要完全卸载现有驱动,重新安装最新版本,并确保安装过程中没有错误。同时,用户需要确认他们的显卡型号与安装的驱动版本兼容。 总结一下,解决方案应该分步骤进行,包括检查驱动状态、处理内核问题、更新initramfs、禁用冲突驱动、Secure Boot设置以及重新安装驱动。同时,用户应该按照顺序尝试这些步骤,直到问题解决。</think>### 解决NVIDIA-SMI无法与NVIDIA驱动通信问题的步骤 #### 1. **检查驱动安装状态** - **确认驱动安装** 使用命令查看已安装的驱动版本: ```bash dpkg -l | grep -i nvidia ``` 若输出为空,说明驱动未正确安装。需从[NVIDIA官网](https://www.nvidia.com/Download/index.aspx)下载适配显卡的驱动版本。 - **验证驱动加载** 执行以下命令检查驱动模块是否加载: ```bash lsmod | grep nvidia ``` 若无输出,需手动加载驱动模块: ```bash sudo modprobe nvidia ``` #### 2. **处理内核版本冲突** - **内核与驱动兼容性** **现象**:服务器重启后内核自动更新,导致驱动失效[^3]。 **解决方法**: 1. 查看当前内核版本: ```bash uname -r ``` 2. 若内核版本与驱动安装时不一致,需重新安装驱动: ```bash sudo apt install --reinstall nvidia-driver-XXX # XXX替换为驱动版本号 ``` - **禁止内核自动更新** 修改配置文件并锁定内核版本[^4]: ```bash sudo gedit /etc/apt/apt.conf.d/10periodic # 将"Update-Package-Lists"值改为0 sudo apt-mark hold linux-image-generic linux-headers-generic ``` #### 3. **更新初始化内存文件系统** - **重建initramfs** 驱动未正确集成到启动镜像时,执行以下命令: ```bash sudo update-initramfs -u sudo reboot ``` #### 4. **禁用Nouveau开源驱动** - **黑名单配置** 编辑黑名单文件并禁用Nouveau: ```bash sudo gedit /etc/modprobe.d/blacklist.conf ``` 添加以下内容: ``` blacklist nouveau options nouveau modeset=0 ``` 更新并重启: ```bash sudo update-initramfs -u sudo reboot ``` #### 5. **检查Secure Boot设置** - **禁用Secure Boot** 进入BIOS/UEFI设置界面,关闭Secure Boot功能。完成后重新生成驱动签名(部分系统需执行): ```bash sudo mokutil --disable-validation ``` #### 6. **完全卸载并重装驱动** - **彻底清理残留** 使用官方脚本卸载旧驱动: ```bash sudo nvidia-uninstall sudo apt purge nvidia-* ``` - **安装最新驱动** 通过官方仓库或.run文件安装: ```bash sudo ubuntu-drivers autoinstall # 自动安装推荐版本 sudo reboot ``` --- ###
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值