解决问题:NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver. Make sure that ....

1. 前言

砚上三五笔,落墨鹧鸪啼

事情起因:电脑两个操作系统,一个Windows另一个为Linux,但Linux重启突然发现竟然自动从20.04更新到了22.04,同时控制台输入nvidia-smi后显示:
Nvidia-SMI has failed because it couldn’t communicate with the NVIDIA deriver …
我下意识的意识到有可能显卡驱动有问题,毕竟神不知鬼不觉的更新到了22.04版本,显卡驱动也许和新版本不兼容?我其实是这么想的。
但很奇怪得是,控制台调出指令查看到起始显卡驱动还在,但就是没办法识别和启动,这就很奇怪了,难道不是版本更新的问题?也不是显卡驱动版本的问题?
就在这时我查阅到是Linux内核导致的,这不禁让我产生了思考....

2. 正文

2.1 解决方法

先说如何解决。
首先千万千万别去更新显卡驱动或者重装系统!!!!

1. 查看目前内核版本。

uname -r

2. 查看内核版本有哪些

grep menuentry /boot/grub/grub.cfg
出现多处类似menuentry 'Ubuntu,Linux 5.4.0-60-generic' --class gnu-linux 这些

3. 修改开机系统启动

sudo vim /etc/default/grub

  • 这里修改第一行GRUB_DEFAULT =0更改为:GRUB_DEFAULT="1>xxx" 启动时第2项 选择第xxx+1个版本
    这个至于这个数字"1>xxx"是怎么来的,可以参考这篇博客:https://zhuanlan.zhihu.com/p/680403046

4. 更新文件

sudo update-grub

5. 重启系统

sudo reboot

这时控制条输出就OK了,实在不行可以双系统切换的时候手动进入 Advantaged options for ubuntu...,然后选择内核就可以了,会发现里面有recovery版本的和没有的,前者我理解为是备份性质的,一般选择后者即可。

2.2 相关知识

Linux内核,kernel,是Linux操作系统的核心组件,负责管理系统的硬件资源、进程调度、内存管理、设备驱动等核心功能。
具体体现就比如标题的那个错误(hhh),但就是找不到显卡驱动在哪里,但是我显卡驱动也确实装上了,但他找不到。总结为一下几点:

  • 核心控制层:直接管理CPU、内存、硬盘等硬件,决定哪个程序能用硬件、怎么用。
  • 资源调度中心:像交通警察,分配算力、内存、网络等资源,确保多个程序有序运行。
  • 抽象接口:为上层软件(如APP)提供简单统一的硬件操作接口,隐藏复杂细节。

说白了就是用户软件层和硬件层的中间件。

我这边主要是用来实现isaac_lab,官方文档有这么一段话:

NVIDIA driver version 535.216.01 or later is recommended when upgrading to Ubuntu 22.04.5 kernel 6.8.0-48-generic or later

3. 后记

参考链接:
https://blog.csdn.net/qq_36441393/article/details/112536595
https://blog.csdn.net/Terrence_Z/article/details/121921389
https://www.cnblogs.com/still-smile/p/11597620.html
https://zhuanlan.zhihu.com/p/680403046
To be continued.......

posted @ 2025-08-12 19:41  泪水下的笑靥  阅读(125)  评论(0)    收藏  举报