服务器安装时“找不到网卡驱动”的本质是系统启动早期未完成硬件枚举或initramfs缺失对应驱动模块;需通过lspci、dmesg、ip -br link分层定位,再针对性处理bios设置、驱动注入、固件补全或物理兼容性问题。

服务器安装时提示“找不到网卡驱动”,本质不是网线没插或网卡坏了,而是系统在启动早期没枚举到硬件,或 initramfs 里缺对应驱动模块。新平台(如海光、飞腾)、新型号网卡(Intel E810、Mellanox CX6、Realtek RTL8125)和旧发行版(CentOS 7.6、RHEL 8.2默认内核)最容易出这个问题。排查要分层推进,不靠猜,也不靠重试。
第一步:确认是不是真“没识别”,还是只是“没启用”
进入安装环境(如 Anaconda 文本界面或 rescue 模式),执行三组命令快速定位层级:
- lspci -nn | grep -i ethernet → 看PCI设备是否存在、型号和ID(如 04:00.0 Ethernet controller: Intel Corporation Ethernet Controller E810-C for QSFP)。若无输出,说明BIOS未启用或物理故障
- dmesg | grep -i "eth\|enp\|firmware" → 查内核日志:有firmware load failed说明固件缺失;有probe failed说明驱动加载失败;若完全无eth/enp字样,大概率驱动未包含进initramfs
- ip -br link → 若只有lo,驱动未加载;若出现enp4s0f0@NONE DOWN,说明驱动已加载但未配置IP或未up
第二步:检查BIOS/UEFI底层设置
很多问题其实卡在固件层,尤其戴尔PowerEdge、HPE ProLiant、华为FusionServer等品牌机:
- 重启进BIOS,找到System Configuration → Network Settings 或 Advanced → Integrated Devices
- 确保Embedded NIC、Onboard LAN、LAN Controller设为Enabled
- 禁用UEFI Network Stack(它会与Linux驱动抢控权);启用Above 4G Decoding(PCIe网卡必需)
- 关闭Fast Boot和Secure Boot(后者可能阻止未签名驱动加载)
第三步:补驱动或固件进安装镜像
主流ISO自带驱动有限,新型号网卡大概率不在默认支持列表中。必须手动注入:
- 下载厂商提供的driver-update.img(Red Hat系)或extra drivers ISO(Ubuntu/Debian)
- 安装引导时按Tab编辑内核参数,在末尾添加:
inst.dd=/dev/sdb1/driver-update.img(U盘路径)
或rd.driver.pre=igb,ixgbe,mlx5_core(强制提前加载)
或modprobe.blacklist=igb(临时屏蔽冲突旧驱动) - 对国产化平台(飞腾+麒麟V10、海光+UOS),需使用厂商定制镜像,或提前将.ko模块和firmware文件打包进initramfs
第四步:安装后验证与兜底方案
即使安装完成,也建议立即验证,避免重启后失效:
- 运行lsmod | grep -E "(igb|ixgbe|mlx5|atlantic|r8169)"确认驱动模块已加载
- 检查/lib/firmware/下是否有对应固件(如intel/ice/ddp/、mellanox/mlx5/)
- 若仍不可用,可先用USB转以太网适配器临时联网,再通过yum install kernel-devel gcc make编译安装官方驱动











