要确认当前网卡使用的内核驱动模块名称并重新加载:先用lspci -k | grep -A 3 -i ethernet查“Kernel driver in use”,若无则用ethtool -i eth0(需root)看driver字段;再用lsmod | grep 模块名验证是否已加载,modinfo 模块名检查依赖;最后modprobe -r卸载后modprobe重载,并手动ip link set up及配置IP恢复网络。

要确认当前网卡使用的内核驱动模块名称,并在不重启系统的情况下重新加载它,必须先准确识别模块,再执行卸载与重载操作,否则可能造成网络中断或模块冲突。
查看网卡对应的驱动模块名称
执行 lspci -k | grep -A 3 -i ethernet,找到目标网卡设备行,向下查看“Kernel driver in use:”后的内容,该值即为正在使用的驱动模块名。
若输出中未显示“Kernel driver in use”,说明网卡未被内核识别或驱动未加载,此时需结合 ethtool -i eth0(将 eth0 替换为实际网卡名)查看 driver 字段——这个字段直接给出模块名称,更可靠。
注意:【必须使用 root 权限运行 ethtool,否则 driver 字段可能为空】。
确认模块是否已加载并获取依赖关系
用 lsmod | grep 模块名 验证模块是否处于活动状态。如果无输出,说明模块未加载,跳过卸载步骤,直接 modprobe 加载即可。
若模块已加载,运行 modinfo 模块名 查看 description 和 alias 字段,确认该模块确实对应你的硬件;同时检查 depends 字段,若存在依赖模块(如 mii、libphy),需确保它们也处于加载状态,否则 reload 会失败。
安全地重新加载驱动模块
第一步:执行 ip link show 记录当前所有网卡名称及状态,特别关注目标网卡是否 UP。
第二步:执行 sudo modprobe -r 模块名 卸载模块。这会自动卸载其依赖模块(如有),但若其他设备共用同一模块,该命令会报错并中止——此时不可强制卸载。
第三步:等待约1秒,执行 sudo modprobe 模块名 重新加载。模块加载后,内核通常自动重建网卡设备节点,但不会恢复 IP 地址和 UP 状态。
第四步:运行 sudo ip link set eth0 up(替换为实际网卡名),再手动配置 IP 或触发 DHCP(如 sudo dhclient eth0)以恢复网络连通性。



















