在 CentOS 上“找不到驱动”是一个比较常见、但也分很多场景的问题。下面按常见原因 → 排查思路 → 解决方向给你系统梳理一下。
CentOS 默认使用 稳定但不一定最新 的内核。
典型表现
modprobe xxx
modprobe: FATAL: Module xxx not found
✅ 排查:
uname -r
rpm -qa | grep kernel
CentOS 默认不包含:
✅ 检查:
lsmod | grep 驱动名
lspci -k
编译驱动时必须:
kernel-devel-$(uname -r)
kernel-headers-$(uname -r)
❌ 常见错误:
装了驱动,但没装对应内核的 devel 包
✅ 安装:
yum install kernel-devel-$(uname -r)
CentOS 7/8/9 + UEFI 环境:
都会被 Secure Boot 拦截
✅ 检查:
mokutil --sb-state
✅ 解决:
例如:
✅ 示例(ELRepo):
yum install elrepo-release
yum install kmod-nvidia
比如:
CentOS 7 的内核(3.10)根本不认识
✅ 方案:
# 1. 看硬件
lspci -k
# 2. 看内核
uname -r
# 3. 看驱动是否已加载
lsmod
# 4. 看模块是否存在
ls /lib/modules/$(uname -r)/kernel/
# 5. 看日志
dmesg | tail
journalctl -xe
我可以直接给你对应的命令和解决方案。