最直接、最可靠的方式是用 ethtool -i 命令,它能一次性输出驱动名、内核模块版本、固件版本和总线地址四项关键信息;必须指定物理网卡名(如 ens33、eno1),且不加 -i 参数或使用 --driver 无效。

最直接、最可靠的方式是用 ethtool -i 命令,它能一次性输出驱动名、内核模块版本、固件版本和总线地址四项关键信息。
确认网卡接口名
先找出真实的物理网卡名,避免查到虚拟接口(如 lo、docker0、veth*):
- 运行
ip -br a或ls /sys/class/net/,找形如ens33、eno1、enp0s3、eth0的名字 - 排除明显非物理的接口:loopback(lo)、容器桥接(docker0)、虚拟以太(veth*)、wireguard(wg*)等
用 ethtool -i 查驱动与版本
执行命令:ethtool -i 网卡名,例如:
输出中重点关注:
Linux 性能分析与调优专家,覆盖 CPU、内存、磁盘 I/O、网络、内核参数、编译优化、容器/K8s。适用场景:系统卡顿/高负载、内存不足/OOM/Swap 高、CPU 异常/iowait 高。
-
driver:当前加载的内核模块名(如
e1000e、r8169、i40e),不是芯片型号 -
version:该模块编译时绑定的内核版本(如
5.15.0-78-generic),与系统内核强关联 - firmware-version:网卡 PHY/MAC 层固件版本,升级前需核对
-
bus-info:PCI 地址(如
0000:02:00.0),可辅助判断是否为独立网卡
⚠️ 注意:ethtool ens33(不加 -i)只显示链路状态,ethtool --driver ens33 无效,参数会被忽略。
验证驱动是否真正生效
光看到 driver 字段还不够,得确认它在跑:
- 运行
ip link show ens33,检查 state 是否为UP,且LOWER_UP出现 - 运行
ethtool ens33,看Link detected: yes是否成立;若为 no,可能是驱动未正确初始化硬件 - 若链路异常(如
rx_missed_errors持续上涨),即使 driver 显示正常,也可能存在兼容性问题(如 Realtek 芯片配 r8169 驱动)
补充方式:查模块详情或内核日志
当 ethtool 不可用或驱动未加载时,可配合其他方法:
- 查模块源信息:
modinfo e1000e(把e1000e换成你看到的 driver 名),输出含 version、description、author 等 - 查内核加载记录:
dmesg | grep -i "ens33\|e1000\|r8169",看是否有probe failed、failed to load firmware等报错 - 查驱动链接路径:
ls -l /sys/class/net/ens33/device/driver,输出类似driver -> ../../../bus/pci/drivers/e1000e即确认绑定关系










