Linux centos安装显卡驱动实践(内核更新)

 更新时间:2026年02月25日 15:53:46   作者:像风一样的男人@  
这篇文章详细介绍了如何禁用默认的Nouveau显卡驱动并安装NVIDIA显卡驱动,包括检查当前设备的显卡信息、安装gcc相关依赖、创建软链接、禁用默认显卡、移除之前的驱动、更新当前内核对应的initramfs镜像、重启系统、检查禁用情况以及确认是否成功等步骤

显卡下载页面 https://www.nvidia.com/en-us/drivers/unix/ 随便下载一个即可

安装过程

  • 查看当前设备的显卡信息
lspci | grep -i vga
  • 安装gcc相关依赖
yum update -y
yum update gcc
yum install build-essential
yum install gcc-multilibdkms
yum groupinstall "Development Tools"
  • 区别gcc正确安装
gcc --version
  • 给gcc创建软链接
 ln -s /usr/bin/gcc /usr/bin/cc
  • 禁用默认显卡
vim /etc/modprobe.d/blacklist.conf

输入如下:
blacklist nouveau
blacklist lbm-nouveau
options nouveau modeset-0
alias nouveau off

保存
  • 给权限
chmod +x /etc/modprobe.d/blacklist.conf 
  • 移除之前可能存在驱动
yum autoremove navdia-*
  • 更新当前内核对应的 initramfs 镜像
sudo dracut --force
  • 重启
reboot
  • 检查默认显卡驱动是否禁用成功
lsmod | grep nouveau

lsmod 命令用于显示已加载到内核中的模块信息。

Nouveau 驱动已被成功禁用,在执行 lsmod 命令后,输出结果里不会出现 nouveau 相关内容。

若没有任何输出:这表明 nouveau 模块未被加载,即禁用成功。

若有输出:意味着 nouveau 模块仍在运行,禁用未成功。

dmesg | grep nouveau

可以通过查看内核日志来确认 nouveau 驱动是否被尝试加载。使用 dmesg 命令查看内核日志,并过滤出与 nouveau 相关的信息。

若没有相关输出:说明内核在启动过程中没有尝试加载 nouveau 驱动,禁用成功。

若有输出且显示驱动已加载:则表明禁用失败。

  • 关闭图形化界面
systemctl set-default multi-user.target

执行命令systemctl get-default,查看当前的启动模式,确认是否设置成功。

执行命令reboot,重启系统,使设置生效

如果之后想要重新启用图形化界面,可以使用以下命令:

systemctl set-default graphical.target,将默认启动目标设置为图形化界面模式。

reboot,重启系统。

  • 下载好的驱动准备安装

nvidia-smi 输出其实就是该驱动最高支持的cuda版本 如果驱动12.6 pytorch可以装11.8

本人下载的11.4版本
https://www.nvidia.cn/drivers/unix/  # 驱动下载
https://www.nvidia.cn/drivers/details/242281/
https://www.nvidia.cn/drivers/unix/linux-amd64-display-archive/
https://developer.nvidia.com/cuda-12-6-0-download-archive # cuda下载
https://developer.nvidia.com/cuda-toolkit-archive
以下安装过程改名为 navdia.run

  • 授权
chmod 777 navdia.run
  • 开始安装
sh navdia.run

出现这个选择No

  • 可能遇到的报错

这个错误提示表明系统找不到当前运行内核的源代码树,通常在安装 NVIDIA 显卡驱动这类需要编译内核模块的软件时会出现。在 CentOS 系统中,你可以按照以下步骤解决该问题

  1. 确认当前内核版本
uname -r

这个命令会输出当前内核的版本号,例如 3.10.0 - 1160.88.1.el7.x86_64。

  1. 安装内核开发包

在 CentOS 系统中,你需要安装 kernel-devel 包,它包含了编译内核模块所需的头文件和源代码。使用以下命令安装:

yum install kernel-devel-$(uname -r)

上述命令中的 $(uname -r) 会自动获取当前运行的内核版本号,确保安装的 kernel-devel 版本与当前内核匹配。

  1. 检查内核开发包是否安装成功

安装完成后,你可以通过以下命令来确认 kernel-devel 是否安装到了正确的位置:

ls /lib/modules/$(uname -r)/build

如果该命令有输出,说明内核开发包已经正确安装。

  • 从新安装
./navdia.run --kernel-source-path=/lib/modules/$(uname -r)/build
  • 查看是否安装成功
cat /proc/driver/nvidia/version

安装 nvidia - utils 软件包:nvidia - smi 命令通常包含在 nvidia - utils 软件包中

yum install nvidia - utils
  • 查看显卡驱动
nvidia -smi

查看驱动版本信息

NVIDIA 显卡:如果安装的是 NVIDIA 显卡驱动,可通过命令 cat /proc/driver/nvidia/version 查看驱动版本信息。若能正确显示版本号等相关内容,说明驱动已成功安装并被系统识别;如果没有任何输出,则可能驱动安装存在问题。

cat /proc/driver/nvidia/version

如果正常输出 cd /usr/bin/ 查看是否有 nvidia-smi

添加环境变量 或 /usr/bin/nvidia-smi 查看显卡驱动信息

更换内核

1. 确认当前内核版本

uname -r

2. 查看可用的内核版本

apt-cache search linux-image | grep 5.15.0

3. 安装目标内核版本

使用 apt 命令安装目标内核版本及其对应的内核头文件。假设目标内核版本是 linux-image-5.15.0-xx-generic ,则执行以下命令:

sudo apt install linux-image-5.15.0-xx-generic linux-headers-5.15.0-xx-generic

在安装过程中,系统会自动处理依赖关系并完成安装。

4. 更新 GRUB 引导程序

安装完成后,需要更新 GRUB(GRand Unified Bootloader)引导程序,让新安装的内核在开机时能够被选择。执行以下命令:

sudo update-grub

5. 重启系统并选择旧内核

sudo reboot

6. 验证新内核版本

uname -r

7. 卸载旧内核(可选)

如果你确定新内核可以正常工作,并且不再需要旧内核,可以卸载它们以释放磁盘空间。使用以下命令查看已安装的内核:

dpkg --list | grep linux-image

然后使用 apt 命令卸载不需要的内核版本,例如:

sudo apt remove linux-image-<旧内核版本号>

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 检查Linux中端口是否打开的五种常用方法

    检查Linux中端口是否打开的五种常用方法

    在 Linux 中,端口是一个编号的网络连接,它允许设备通过 Internet 或本地网络与其他设备通信,确保端口是开放和可访问的非常重要,在本文中,我们将讨论五个检查 Linux 中端口是否打开的常用方法,需要的朋友可以参考下
    2026-01-01
  • Linux手把手教你实现udp服务器的详细过程

    Linux手把手教你实现udp服务器的详细过程

    本文给大家分享Linux实现udp服务器的详细过程,本文给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧
    2024-04-04
  • keeplive+mysql+drbd高可用架构安装步骤

    keeplive+mysql+drbd高可用架构安装步骤

    本地(master)与远程主机(backup)的保证实时同步,如果本地系统出现故障时,远程主机上还会保留有一份相同的数据,可以继续使用.在高可用(HA)中使用DRBD功能,可以代替使用一个共享盘阵.因为数据同时存在于本地主机和远程主机上,切换时,远程主机只要使用它上面的那份备份数据
    2017-08-08
  • Linux系统中Tomcat环境配置方式

    Linux系统中Tomcat环境配置方式

    这篇文章主要介绍了Linux系统中Tomcat环境配置方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-04-04
  • Linux中配置DNS全过程

    Linux中配置DNS全过程

    本文详细介绍了DNS(域名系统)的工作原理,包括域名解析的定义、作用以及解析方式,同时,文章还讲解了如何搭建DNS服务,包括配置主DNS和辅助DNS,通过配置DNS,可以将域名映射到IP地址,以便于人们记忆和访问互联网上的资源
    2025-12-12
  • Linux自动化构建工具make和Makefile详解

    Linux自动化构建工具make和Makefile详解

    这篇文章主要介绍了Linux如何自动化构建工具make和makefile,文章中有详细的图片示例,对学习有一定的参考价值,感兴趣的小伙伴可以参考一下
    2023-04-04
  • 详解linux下make命令的使用方法

    详解linux下make命令的使用方法

    这篇文章主要介绍了linux下make命令的使用方法,Linux 下 make 命令是系统管理员和程序员用的最频繁的命令之一,感兴趣的朋友可以参考一下
    2016-01-01
  • 一文教你如何监控Kafka Topic的生产者客户端

    一文教你如何监控Kafka Topic的生产者客户端

    Apache Kafka 是现代分布式系统中广泛使用的消息队列和流处理平台,本文将详细介绍如何通过命令行工具、JMX 监控、日志分析等方法,全面掌握 Kafka Topic 的生产者信息,需要的可以参考下
    2025-04-04
  • VMware下Ubuntu16.04镜像完整安装教程

    VMware下Ubuntu16.04镜像完整安装教程

    这篇文章主要为大家详细介绍了VMware下Ubuntu16.04镜像完整安装教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-06-06
  • Linux常用硬盘管理相关命令介绍

    Linux常用硬盘管理相关命令介绍

    大家好,本篇文章主要讲的是Linux常用硬盘管理相关命令介绍,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下哦,方便下次浏览
    2021-12-12

最新评论