在 CentOS 上“驱动失败”的原因非常多,需要结合具体设备类型和报错现象来判断。下面我按常见场景 + 排查思路给你一个系统性的说明,你可以对照看是哪一种。
CentOS 升级内核后,旧驱动未重新编译:
典型表现
module verification failed
disagrees about version of symbol
Unknown symbol in module
✅ 解决:
uname -r
rpm -qa | grep kernel
重新安装或编译对应内核版本的驱动
CentOS 7/8/9 默认启用 Secure Boot 会阻止未签名驱动。
典型表现
Required key not available
✅ 解决:
lsmod | grep 驱动名
如果为空,可能被 blacklist:
cat /etc/modprobe.d/*.conf | grep blacklist
✅ 解决:
modprobe 驱动名
编译驱动时最常见错误。
✅ 检查:
rpm -qa | grep kernel
✅ 安装:
yum install kernel-devel kernel-headers
⚠️ 版本必须和 uname -r 完全一致
常见问题:
✅ 禁用 Nouveau:
echo "blacklist nouveau" >> /etc/modprobe.d/blacklist.conf
✅ 进入文本模式:
systemctl isolate multi-user.target
✅ 查看:
lspci | grep -i net
dmesg | grep firmware
✅ 安装:
yum install linux-firmware
getenforce
✅ 临时关闭测试:
setenforce 0
✅ 解决:
uname -a
dmesg | tail -50
journalctl -xe
lspci -k
lsmod
请告诉我:
如果你愿意,可以直接把报错贴出来,我可以一步一步帮你修。