美文网首页
在centos7上卸载和安装 NVIDIA 驱动程序

在centos7上卸载和安装 NVIDIA 驱动程序

作者: 可能性之兽 | 来源:发表于2024-04-18 12:10 被阅读0次

    重启服务器的时候后遇到一个坑爹问题

    Failed to initialize NVML: Driver/library version mismatch
    
    root@localhost maolp]# dmesg | grep NVRM
    [    4.254828] NVRM: loading NVIDIA UNIX x86_64 Kernel Module  515.65.01  Wed Jul 20 14:00:58 UTC 2022
    [  361.285790] NVRM: API mismatch: the client has the version 515.43.04, but
    NVRM: this kernel module has the version 515.65.01.  Please
    NVRM: make sure that this kernel module and all NVIDIA driver
    NVRM: components have the same version.
    

    NVIDIA 驱动组件之间的版本不匹配。具体来说, NVIDIA 内核模块(即由 kmod-nvidia 提供)的版本是 515.65.01,但有一些其它 NVIDIA 驱动组件(可能是用户空间的库或应用程序)的版本是 515.43.04。

    NVIDIA 驱动系统包括内核级驱动(内核模块,如 nvidia.ko)和用户级驱动组件(如库文件和用户空间工具)。这些组件需要版本一致,以确保它们能正确交互。如果这些组件的版本不一致,就会出现 API 不匹配的错误,这会导致驱动程序无法正常工作。

    找来找去,只能重装驱动

    步骤 1: 卸载现有的 NVIDIA 驱动

    先移除系统上已安装的任何 NVIDIA 驱动程序。这是确保新的驱动安装不会受到旧驱动残留文件影响。

    kmod-nvidia 是一个专为 Linux 系统设计的软件包,用于提供 NVIDIA 显卡的内核模块。这个包是 NVIDIA 显卡用户在某些 Linux 发行版中安装和使用 NVIDIA 显卡驱动的一部分。它主要用于基于 RPM 的 Linux 发行版,如 CentOS、Red Hat Enterprise Linux(RHEL)、和 Fedora 等。

    yum remove kmod-nvidia-*
    

    这条命令会卸载所有名字以 kmod-nvidia- 开头的 NVIDIA 驱动包。使用 yum 这个包管理器是因为它是 CentOS 和 RHEL 最常用的包管理工具。

    步骤 2: 重启计算机

    卸载驱动程序之后,重启计算机非常关键:

    reboot
    

    这样做可以确保所有 NVIDIA 驱动相关的内核模块都被卸载,系统在启动时不会加载旧的驱动模块,为新驱动的安装提供一个干净的环境。

    步骤 3: 重新下载驱动

    https://www.nvidia.cn/Download/Find.aspx?lang=cn

    image.png image.png

    步骤 4: 运行 NVIDIA 驱动安装程序

    不过我虽然上面写了要下载,但是安装的过程神奇的找到了我以前安装版本 515.65.01,之前没有删,将其重装就是

    下载需要的 NVIDIA 驱动版本的 .run 文件,这通常可以在 NVIDIA 的官方网站找到。确保下载与你的 GPU 和 Linux 发行版兼容的驱动版本。

    chmod +x NVIDIA-Linux-x86_64-515.65.01.run
    

    然后执行安装脚本:
    比如我的./NVIDIA-Linux-x86_64-515.65.01.run 在/下面

    ./NVIDIA-Linux-x86_64-515.65.01.run --no-opengl-files
    

    这个命令启动 NVIDIA 驱动的安装过程。使用 --no-opengl-files 选项是为了防止 NVIDIA 安装程序覆盖系统现有的 OpenGL 文件

    相关文章

      网友评论

          本文标题:在centos7上卸载和安装 NVIDIA 驱动程序

          本文链接:https://www.haomeiwen.com/subject/ohqexjtx.html