修复:Ubuntu 在内核升级后网络丢失

发布: (2025年12月17日 GMT+8 19:58)
3 min read
原文: Dev.to

Source: Dev.to

Cover image for Fixing: Ubuntu lost network after kernel upgrade

修复网络问题的命令

首先使用 uname -r 检查内核版本(例如 6.14.0-37-generic),然后在下面的命令中将版本号替换为实际的版本:

# 检查网络接口和 IP 地址
ifconfig

# 检查内核版本
uname -r

# 更新软件包列表并升级系统
sudo apt update
sudo apt upgrade

# 为上面发现的版本安装内核额外模块
# 将 6.14.0-37-generic 替换为你的实际内核版本
sudo apt install linux-modules-extra-6.14.0-37-generic

# 重新生成 initramfs 以包含新的内核模块
sudo update-initramfs -u

# 安装推荐的专有驱动(主要是 NVIDIA 显卡驱动)
sudo ubuntu-drivers autoinstall

# 重启以应用更改
sudo reboot

问题与解决方案的理解

当 Ubuntu 在常规系统更新中自动升级到新内核时,网络驱动可能没有正确包含在新内核的启动文件系统中。这在 Ubuntu 24.04 升级内核后尤为常见,尤其是在需要额外内核模块的硬件上。

为什么会出现这种情况

  • 内核模块是针对特定版本的——每个内核版本都需要自己的驱动模块集合。
  • Initramfs 可能不完整——在启动时加载的初始 RAM 文件系统可能缺少必要的网络驱动。
  • 缺少额外模块包——linux-modules-extra 包在新内核上可能没有被自动安装。

解决方案的工作原理

  • 安装内核额外模块——linux-modules-extra--generic 提供额外的模块,包括许多不在基础内核包中的网络驱动。
  • 重新生成 initramfs——update-initramfs -u 重新打包 initramfs,使其包含所有必需的模块,确保在启动早期即可使用。
  • 安装专有驱动——ubuntu-drivers autoinstall 主要处理显卡驱动(如 NVIDIA),但也会重新安装可能丢失的其他专有驱动。
  • 重启——加载带有修正后 initramfs 的新内核,恢复网络连接。

重启后,使用 ifconfigip a 验证网络是否正常。

有用的链接

Back to Blog

相关文章

阅读更多 »