在 CentOS 系统中,驱动(driver)加载失败是一个比较常见但原因多样的问题。下面我从常见原因 → 排查思路 → 典型场景三个层面给你说明。
3.10.0-1160)Unknown symbol in module
disagrees about version of symbol
✅ 解决:
uname -r
modinfo <driver>
确认是否一致,必要时重新编译或安装对应 kernel-devel
第三方驱动(如网卡、GPU)编译时需要:
kernel-devel-$(uname -r)
kernel-headers-$(uname -r)
✅ 安装:
yum install -y kernel-devel kernel-headers
✅ 查看:
mokutil --sb-state
✅ 解决:
报错:
Key was rejected by service
文件可能包含:
/etc/modprobe.d/blacklist.conf
✅ 检查:
lsmod | grep <driver>
modprobe <driver>
有些驱动依赖其他模块:
modprobe <driver>
dmesg | tail
常见错误:
Unknown symbol xxx
驱动文件权限或上下文异常:
ls -Z /lib/modules/$(uname -r)/extra/
# 1. 查看加载失败信息
dmesg | tail -50
# 2. 手动加载
modprobe <driver>
# 3. 查看模块信息
modinfo <driver>
# 4. 检查内核版本
uname -r
# 5. 检查是否黑名单
grep -R <driver> /etc/modprobe.d/
# 6. 检查 Secure Boot
mokutil --sb-state
✅ 解决:
yum install kernel-devel-$(uname -r)
./driver.run --kernel-source-path=/usr/src/kernels/$(uname -r)
✅ 原因:未签名
✅ 解决:
你可以补充:
dmesg 或 modprobe 输出)我可以直接告诉你是哪一条原因 + 对应命令。