🧨 一、症状:安装 NVIDIA 驱动后 Ethernet 突然不见了
如果你使用的是 Ubuntu 22.04.2 LTS(系统自带内核 5.19),在安装 NVIDIA 驱动(无论是 Software & Updates、ubuntu-drivers autoinstall、CUDA Toolkit 或 .run 文件)后,系统通常会自动安装一个新内核 6.8.x。
大多数人会在重启后发现:
- 网卡消失
- 没有 eth0 / enp…
- ip link 看不到以太网
- lspci -nnk 显示 “RTL8168” 但 driver 是空的
🥵 二、为什么会掉网?(简短但关键的解释)
最根本原因只有一句话:
安装 NVIDIA 驱动会自动升级到 6.8 内核,但没有自动安装内核 headers,导致 Realtek r8168 无法为新内核编译 → 重启后网卡丢失。
更具体:
- Ubuntu 22.04.2 默认内核是 5.19
- 安装 NVIDIA 时,系统自动安装 6.8.x 内核
- DKMS 尝试为所有内核构建 r8168 网卡驱动
- 但 6.8 的 headers 不在 → 编译失败
- 你重启进入 6.8
- 系统找不到 r8168.ko → 网卡消失
所以问题完全不是 NVIDIA、也不是 Realtek,而是:
👉 “新内核安装了,但对应 headers 没装”
👉 “DKMS 没办法为新内核构建 r8168 驱动”
🚑 三、已经掉网了?修复方法(100% 有效)
🧰 第 1 步:重启进入旧的 5.19 内核
开机时,进入:
Advanced options for Ubuntu # 没有选项页面的话,启动时按esc可以进去
→ 选择 5.19.0-xx-generic(其他系统版本一样,选择旧一些的内核)
只要你能进入 5.19,网卡就会恢复正常(因为 r8168 为旧内核编译成功)。
🧰 第 2 步:找出新内核版本
dpkg --list | grep linux-image
你会看到类似:
linux-image-5.19.0-46-generic
linux-image-6.8.0-41-generic ← 这是新内核(坏的那一个)
🧰 第 3 步:安装新内核的 headers(这是关键)
sudo apt install linux-headers-6.8.0-41-generic
请换成你系统里的实际版本号
🧰 第 4 步:强制 DKMS 为两个内核重编译 r8168(或者其他更新后缺失驱动的硬件)
sudo apt install --reinstall r8168-dkms
你会看到:
Building for 5.19 & 6.8
DKMS: build completed.
如果你看到这一行,说明问题已经解决了。
🧰 第 5 步:重启到新内核(网卡会恢复)
sudo reboot
此时进入 6.8 内核,r8168.ko 已经存在,网卡自然恢复。
🛡 四、如何从一开始避免掉网?(非常重要)
上面的步骤是急救方法,而下面是预防方法,避免你以后安装 NVIDIA、CUDA、系统更新时再掉网。
🛡 预防方案:在安装 NVIDIA 后、重启前完成 2 件事
步骤 1:先安装 DKMS 和编译工具
sudo apt update
sudo apt install build-essential dkms
步骤 2:再安装 NVIDIA(无论你用哪种方式)
- Software & Updates → Additional Drivers
- ubuntu-drivers autoinstall
- CUDA Toolkit 安装
- nvidia.com .run(不推荐)
注意:此时不要马上重启!
步骤 3:找出“刚装上的新内核”
dpkg --list | grep linux-image
你会看到一个比当前内核更高的版本(通常是 6.8.x)。
步骤 4:为“新内核”安装 headers
sudo apt install linux-headers-6.8.0-41-generic
(换你的版本)
步骤 5:强制重编 r8168
sudo apt install --reinstall r8168-dkms
步骤 6:现在可以放心重启
sudo reboot
重启后:
- 新内核正常
- r8168 正常
- Ethernet 不会再消失
✨ 五、总结表:为什么会掉网 & 如何避免
| 项目 | 解释 |
|---|---|
| Ubuntu 22.04.2 默认内核 | 5.19 |
| 安装 NVIDIA 驱动后自动升级 | 6.8 内核 |
| 发生什么 | 新内核缺 headers,r8168 无法编译 |
| 重启后 | 网卡消失 |
| 修复方法 | 为新内核安装 headers + 重新安装 r8168-dkms |
| 预防方法 | 安装 NVIDIA 后、重启前补齐 headers 并重建 DKMS |
📌 适用范围
- 安装 NVIDIA 驱动导致掉网
- CUDA Toolkit 安装后掉网
- 驱动安装后发现内核更新