centos如何安装网卡驱动
小樊
40
2025-12-19 17:02:47
CentOS 安装网卡驱动的实用步骤
一 准备与诊断
- 确认网卡型号与驱动状态
- 查看设备:lspci | grep -i ethernet
- 查看内核日志:dmesg | grep -i eth
- 查看是否加载模块:lsmod | grep <模块名>
- 查看接口:ip link show
- 准备编译环境(离线可用本地镜像)
- 安装工具与头文件:yum install -y gcc make kernel-devel kernel-headers
- 无网络时挂载安装介质,配置本地源(如 CentOS-Media.repo 的 baseurl 指向光盘路径),再用 yum --disablerepo=* --enablerepo=c-media install gcc make kernel-devel* 安装依赖。
二 安装方式
- 方式A 使用发行版或厂商RPM包
- 优先尝试仓库包:yum install <驱动包名>(或 dnf)。适合已打包并签名的驱动。
- 方式B 从源码编译安装(通用)
- 以 Intel e1000e 为例(其他驱动流程相同):
- 解压:tar xzf e1000e-<版本>.tar.gz && cd e1000e-<版本>/src
- 编译安装:make && make install
- 更新依赖索引:depmod -a
- 加载模块:modprobe e1000e
- 验证:lsmod | grep e1000e 与 ip link show
- 以 Realtek RTL8111/8168 为例(常见社区驱动为 r8168):
- 解压:tar -jxvf r8168-<版本>.tar.bz2 && cd r8168-<版本>
- 编译安装:make clean modules && make install
- 更新索引并加载:depmod -a && modprobe r8168
- 验证:lsmod | grep r8168 与 ip link show
- 注:源码编译需确保已安装与当前运行内核匹配的 kernel-devel/headers。
三 常见问题与处理
- UEFI Secure Boot 导致第三方驱动无法加载
- 现象:modprobe <模块名> 报 Required key not available。
- 处理:进入 BIOS 关闭 Secure Boot(如关闭 EFI_SECURE_BOOT_SIG_ENFORCE),重启后再加载模块。
- 编译失败缺少依赖
- 现象:提示缺 gcc/kernel-devel/kernel-headers。
- 处理:挂载安装介质,启用本地源,使用 yum --disablerepo=* --enablerepo=c-media install gcc make kernel-devel* 补齐依赖后重试编译。
- 驱动已安装但仍无网络
- 处理:确认接口名(如 ens33/enp0s3),用 ip link set <接口名> up 启用;检查 ip addr 是否拿到地址;必要时 systemctl restart NetworkManager(或传统网络服务)。
四 快速参考命令清单
- 识别与诊断:lspci | grep -i ethernet、dmesg | grep -i eth、lsmod | grep <模块名>、ip link show
- 编译安装通用:make && make install、depmod -a、modprobe <模块名>
- 网络服务:CentOS 7 可用 systemctl restart network;CentOS 8 推荐 NetworkManager(systemctl status/start NetworkManager)
- 无网环境装依赖:yum --disablerepo=* --enablerepo=c-media install gcc make kernel-devel kernel-headers*。