Nvidia驱动莫名其妙不好使了?nvidia-smi报错?如何解决?已解决!!

news2024/11/15 13:23:08

在这里插入图片描述

文章目录

  • 一、报错提示
  • 二、解决方案
    • 2.1 原因1的解决办法
    • 2.2 原因2的解决方案

一、报错提示

  1. Ubuntu20.04出现Failed to initialize NVML: Driver/library version mismatch问题
  2. NVIDIA-SMI has failed because it couldn‘t communicate with the NVIDIA driver.

二、解决方案

如果是这两种报错,则可能是两个原因:
原因1:系统自动升级导致内核版本和Nvidia驱动版本不匹配;
原因2:操作系统的BIOS的设置问题;

2.1 原因1的解决办法

  1. 首先查看下Nvidia驱动的版本和内核的版本
ls /usr/src | grep nvidia
uname -a
  1. 然后卸载nvidia驱动程序
sudo apt-get purge nvidia*
  1. 查询自带的驱动
ubuntu-drivers devices
  1. 选择recommend标志的驱动程序安装
sudo apt install XXXXXX
  1. 安装完毕后验证一下,观察是否会报错
sudo modprobe nvidia
  1. 最后看是否正常
nvidia-smi

参考链接:

  1. https://blog.csdn.net/ccsodefhy/article/details/122846921
  2. https://blog.csdn.net/weixin_43994864/article/details/116143207
  3. https://blog.51cto.com/u_4029519/5909904
  4. https://www.volcengine.com/theme/2267486-J-7-1
  5. Ubuntu:解决显卡驱动问题NVIDIA-SMI has failed because it couldn‘t communicate with the NVIDIA driver._ubuntu
  6. Nvidia-smi gives “No devies were found” - incorrect gcc version

2.2 原因2的解决方案

方法1. 禁用 Secure Boot

  • 进入 BIOS 设置,找到 Secure Boot 选项,并将其禁用。
  • 保存更改并退出 BIOS,然后重新启动系统。
  • 之后再尝试加载 NVIDIA 模块:
    sudo modprobe nvidia

方法2. 手动签名内核模块(如果你需要启用 Secure Boot):

如果你不想禁用 Secure Boot,可以手动签名 NVIDIA 模块。以下是大致步骤:

  1. 安装 mokutil工具:
sudo apt-get install mokutil
  1. 生成自签名证书:
openssl req -new -x509 -newkey rsa:2048 -keyout MOK.priv -outform DER -out MOK.der -nodes -days 36500 -subj "/CN=My NVIDIA Module Signing Key"
  1. 注册 MOK(Machine Owner Key):
sudo mokutil --import MOK.der

你将被要求设置一个密码,这将在下一次启动时使用。

  1. 重启系统并进入 MOK 管理界面:
  • 系统重启时,系统会提示你进入 MOK 管理界面,在那里你可以选择“Enroll MOK”并输入刚才设置的密码。
  1. 签名 NVIDIA 模块:
sudo /usr/src/linux-headers-$(uname -r)/scripts/sign-file sha256 ./MOK.priv ./MOK.der $(modinfo -n nvidia)
  1. 再次加载 NVIDIA 模块:
sudo modprobe nvidia

注意事项:

  • 签名工具和步骤:确保你使用了系统当前内核版本的 sign-file 工具,路径可能会因内核版本而不同。
  • 恢复操作:如果出现问题,你可以随时禁用 Secure Boot 或删除 MOK 来回到原始状态。

∼ O n e   p e r s o n   g o   f a s t e r ,   a   g r o u p   o f   p e o p l e   c a n   g o   f u r t h e r ∼ \sim_{One\ person\ go\ faster,\ a\ group\ of\ people\ can\ go\ further}\sim One person go faster, a group of people can go further

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2076736.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

深入探究linux文件IO

一、原子操作和竞争条件 所有系统调用都是以原子操作方式执行的。之所以这么说,是指内核保证了某系统调用中的所有步骤会作为独立操作而一次性加以执行,其间不会为其他进程或线程所中断。 以独占方式创建一个文件 结合 O_CREAT 和 O_EXCL 标志来一次性…

AI学习记录 - 怎么理解 torch 的 torch.nn.BatchNorm2d

画图不易,有用就点个赞 这里创建了一个随机张量,形状为 (4, 3, 4, 4),分别对应 形状为 (batch_size, num_channels, height, width) batch_size:批次 num_channels: 通道(什么是通道看上一章节&#xff0…

串口和RS485通信

一、 定义串口收发数据结构体 /*COM Received Data Structure*/ typedef struct {uint8_t ubr_EndFlag; //Received data end flag uint8_t ubr_buffer[300]; //Received data bufferuint8_t ubr_bufferTemp[300]; //Received data bu…

K-medoids算法原理及Python实践

一、原理 K-medoids算法是一种聚类算法,它的原理与K-Means算法相似,但关键区别在于它使用数据集中的实际点(称为medoids)作为簇的中心点,而不是像K-Means那样使用簇内所有点的平均值。以下是K-medoids算法的主要原理&…

如何在算家云搭建模型Stable-Fast-3D(3D模型生成)

一、模型介绍 Stable-Fast-3D 具有 UV 展开和照明解缠的稳定快速 3D 网格重建,它是一种从单个图像进行快速前馈 3D 网格重建的最先进的开源模型。 二、模型搭建流程 基础环境最低要求说明: 环境名称版本信息1Ubuntu22.04.4 LTSCudaV12.1.105Python3.…

【项目日记】高并发内存池 ---项目介绍及组件定长池的实现

余生还长,你别慌,也别回头,别念旧. --- 余华 --- 1 高并发内存池简介 高并发内存池项目是实现一个高并发的内存池,他的原型是google的一个开源项目tcmalloc,tcmalloc全称Thread-Caching Malloc,即线程缓存…

快速排序与其例题

一、快速排序 1、简单介绍:快速排序(Quick Sort)是一种高效的排序算法,由计算机科学家Tony Hoare在1960年提出。它是基于分治法的排序算法,其基本思想和步骤如下: 基本概念 快速排序的核心思想是将待排序…

一种商业模式既解决引流又解决复购 你想了解一下嘛?

欢迎各位,我是你们的电商策略顾问,吴军。今天,我将向大家介绍一种新颖的商业模式——循环购物模式。这种模式有何独特之处?商家真的在进行慷慨的赠金活动吗?消费者在购物的同时还能获得额外收益?甚至可以将…

Python控制流:条件语句(if, elif, else)①

文章目录 前言1. 基本条件语句1.1 if 语句1.2 else 语句1.3 elif 语句1.4 嵌套条件语句 2. 条件表达式3. 多条件判断4. 比较运算符和逻辑运算符5. 常见错误和最佳实践5.1 常见错误5.2 最佳实践 6. 综合详细的例子:学生成绩管理系统6.1 类和方法Student 类 6.2 主函数…

LD/T698.45 协议解析(新)

通信架构 客户机和服务器在开始通信前,通信信道必须先完成预连接。预连接建立后,默认具有一个最低权限的应用连接,客户机和服务器之间可直接进行数据交换。当客户机需要得到更高权限的服务器服务时,客户机必须发起建立更高权限的…

浦发银行不良堆积,新任领导的无奈

撰稿|芋圆 浦发银行在2023年进行了一波董监高人员大变动,董事长和行长两位掌舵人双双离职,在其任内,浦发银行自2020年起的营收、利润状况和资产质量就一直难有起色。 目前,距新任领导班子上任已差不多过去一年之久。在这一年里&a…

Redis(面试题【速记】)

Redis简介 Redis 是一个开源(BSD 许可)内存数据结构存储用作数据库、缓存、消息代理和流引擎。Redis 提供数据结构,例如 字符串、散列、列表、集合、带范围查询的排序集合、位图、超日志、地理空间索引和流。Redis 内置了复制、Lua 脚本、LRU 驱逐、事务和不同级别的…

【Linux —— 线程同步 - 条件变量】

Linux —— 线程同步 - 条件变量 条件变量的概念互斥量与条件变量的关系条件变量的操作代码示例 条件变量的概念 条件变量是一种用于线程间同步的机制,主要用于协调线程之间的执行顺序,允许线程在某个条件不满足时进入等待状态,直到其他线程通…

【Linux I/O】万字长文带思维导图,一文彻底掌握Linux I/O:深入解析操作系统数据交互的艺术

Linux I/O Linux I/O(输入/输出)是操作系统与外部设备进行数据交互的过程。在Linux系统中,I/O操作的管理和优化对于系统性能有着至关重要的影响。本文将详细介绍Linux中的各种I/O模型,包括它们的工作原理、优缺点以及适用场景&am…

ImportError: DLL load failed while importing _ssl: 找不到指定的模块。

windonw cmd下的输出: (python3.9) PS D:\git\ImageAnalysisService\core\medical_bills> python Python 3.9.19 (main, May 6 2024, 20:12:36) [MSC v.1916 64 bit (AMD64)] on win32 Type "help", "copyright", "credits" or …

计算机基础知识总结(八股文--计算机网络、操作系统、数据库、c++、数据结构与算法)

一、操作系统 0.内存管理 01.什么是虚拟内存?为什么需要虚拟内存? 虚拟内存为程序提供比实际物理内存更大的内存空间,同时提高内存管理的灵活性和系统的多任务处理能力。虚拟地址空间就是进程所能看到的内存空间,这段空间是连续…

苍穹外卖项目DAY11

苍穹外卖项目DAY11 1、Apache ECharts 1.1、介绍 Apache ECharts是一款基于JavaScript的数据可视化图标库&#xff0c;提供直观&#xff0c;生动&#xff0c;可交互&#xff0c;可个性化定制的数据可视化图标 官网&#xff1a;Apache ECharts 1.3、入门案例 <!DOCTYPE…

LlamaIndex 实现 RAG(四)- RAG 跟踪监控

RAG 整个流程不复杂&#xff0c;集成三大部分包括文档解析并生成向量、根据查询问题查找语意相似的数据文档块、把查询问题和召回文档作为上下文的数据传给模型进行解答。大语言模型的应用开发和传统的开发方式区别很大&#xff0c;以前开发完成&#xff0c;只要逻辑正确&#…

解决IDEA 控制台中文乱码及无法输入中文

一、IDEA 控制台中文乱码&#xff1a; 问题描述&#xff1a; IntelliJ IDEA 如果不进行相关设置&#xff0c;可能会导致控制台中文乱码、配置文件中文乱码等问题。 解决方案&#xff1a; ①&#xff1a;设置字体为支持中文的字体&#xff1a; 点击菜单 File - > settings …

二分查找【算法 09】

二分查找算法详解 二分查找&#xff08;Binary Search&#xff09;是一种高效的查找算法&#xff0c;前提是数据必须是有序的。相比于线性查找&#xff0c;二分查找的时间复杂度从 O(n) 降低到了 O(log n)&#xff0c;适合处理大规模的数据查找问题。本文将详细介绍二分查找的原…