当前位置: 首页 > article >正文

Ubuntu 20.04 内核升级后网络丢失问题的解决过程

在 Ubuntu 系统中,内核升级是一个常见的操作,旨在提升系统性能、安全性和兼容性。然而,有时这一操作可能会带来一些意外的副作用,比如导致网络功能的丧失。

本人本来是想更新 Nvidia 显卡的驱动,使用 ubuntu-drivers 自动更新驱动后,结果导致网络不能用了,右上角的网络图标也不见了。

特记录本人在 Ubuntu 20.04 中遇到内核升级后网络丢失问题的解决步骤,供遇到类似问题的朋友参考。

一、现象描述及问题排查:

  • 网络图标消失:桌面右上角的网络图标不见了,无法直接通过图形界面管理网络。
  • 网络设置缺失:系统设置中找不到“有线网”和“无线网”的选项,仅剩下“代理”设置。
  • 网络命令无响应:运行 ifconfig 或 ip addr 等命令时,无法看到有线(如 enpXXX )或无线(如 wlpXXX )网络接口。
  • 硬件识别问题:通过 sudo lshw -c network 命令查看,发现网卡硬件被识别,但系统未能正确加载相应的驱动模块。也可以使用 lspci(对于PCI设备)或 lsusb(对于 USB 设备)来列出你的硬件。

二、定位问题步骤:

1.查看网络

使用命令 sudo lshw -class network 查看网卡状态:

发现网卡是 Unclaimed 状态。

在网上一通查找与学习,认为可能是内核更新的时候,网络设备驱动所在的 linux-modules-extra 库因为某些原因没有正常更新。

2. 确认当前内核版本

首先,确认当前运行的内核版本,以便后续确认是否安装正确的 linux-modules-extra 包。

        uname -r

输出为 5.15.0-122-generic。

3. 查看是否正确安装 linux-modules-extra

使用命令 dpkg -l |grep linux-modules 查看内核及 linux-modules-extra 的安装情况

发现没有与目前使用的 5.15.0-122-generic 内核对应的 linux-modules-extra 包。

三、解决方法

安装缺少的 linux-modules-extra-xxxx-generic,其中 xxxx 是当前使用的内核版本。

考虑到此时 ubuntu 不能链接任何网络,因此有如下两个方法解决:

方法一:通过 GRUB 选择旧内核版本
  •     查看已安装的内核版本:

         dpkg -l | grep linux-image

    找到除了当前运行版本外的其他内核版本。

  •     重启并进入 GRUB 菜单:

    重启计算机,在 GRUB 菜单出现时(通常是开机后几秒内),按 Shift 键进入 GRUB 菜单。

  •     选择旧内核版本:

    在 GRUB 菜单中选择“ Advanced options for Ubuntu ”,然后选择一个旧的内核版本启动。

  •     安装 linux-modules-extra:

    进入旧内核版本的系统后,网络可能恢复正常。此时,使用 apt 命令安装与当前内核版本相匹配的 linux-modules-extra 包。

        sudo apt install linux-modules-extra-$(uname -r)

  •     重启并检查网络:

    安装完成后,重启计算机并检查网络是否恢复正常。

方法二:使用其他设备下载并安装 linux-modules-extra
  •     在其他设备上下载 blinux-modules-extra 包:

    使用另一台可以联网的设备,访问 Ubuntu 的官方软件仓库 或使用 apt 的下载功能(如 apt download)下载与当前内核版本相匹配的 linux-modules-extra 包。

  •     将包传输到出问题的电脑:

    使用 USB 驱动器或其他方式将下载的 .deb 文件传输到出问题的电脑上。

  •     安装 linux-modules-extra 包:

    在出问题的电脑上,使用 dpkg 命令安装传输过来的 .deb 文件:

            sudo dpkg -i linux-modules-extra-xxxx-generic.deb

  •     重启并检查网络:

    安装完成后,重启计算机并检查网络是否恢复正常。

四、小贴士:

1. ubuntu-drivers

ubuntu-drivers 是 Ubuntu 系统中一个非常实用的工具,主要用于帮助用户自动化地检测并安装适合其硬件设备的驱动程序。

  • 自动化检测ubuntu-drivers 能够自动扫描系统中的硬件设备,识别出哪些设备需要安装或更新驱动程序。
  • 推荐驱动:基于扫描结果,ubuntu-drivers 会列出适用于当前硬件的驱动程序,并推荐最合适的版本。
  • 安装与更新:用户可以通过 ubuntu-drivers 直接安装或更新驱动程序,无需手动下载和配置。
  • 使用 sudo ubuntu-drivers autoinstall 命令自动安装推荐的驱动程序。此命令将自动检测硬件设备,并尝试安装适合它们的驱动程序。
2.linux-modules-extra

Ubuntu 的 linux-modules-extra 库是一个特殊的软件包集合,它包含了 Linux 内核的额外模块。这些模块不是内核的核心部分,但对于许多硬件设备的正常运行却是至关重要的。在 Ubuntu 系统中,linux-modules-extra 包通常随着内核包的安装或更新而自动安装或更新,以确保系统能够识别和使用各种硬件设备。

主要功能和特点:

  • 提供额外驱动linux-modules-extra 包包含了内核的额外驱动程序,这些驱动程序对于某些特定的硬件设备(如无线网卡、显卡、USB设备等)是必需的。如果没有这些额外的驱动程序,这些设备可能无法正常工作或性能不佳。

  • 与内核版本匹配:Ubuntu的 linux-modules-extra 包与内核版本紧密相关。每次内核更新时,都可能需要安装或更新相应的 linux-modules-extra 包,以确保所有驱动程序都与新的内核版本兼容。

  • 自动安装和更新:在大多数情况下,Ubuntu的APT包管理器会自动处理 linux-modules-extra 包的安装和更新。通过APT安装或更新内核包时,相关的 linux-modules-extra    包也会被安装或更新。

五、小结

在 Ubuntu 20.04 中遇到内核升级后网络丢失的问题时,首先确认当前内核版本,并尝试安装与之匹配的 linux-modules-extra 包。如果网络不可用,可以通过 GRUB 选择旧内核版本或使用其他设备下载并安装所需的包。

希望这些步骤能帮助你解决网络丢失的问题。

                                                                                         老徐,2024/9/21


http://www.kler.cn/a/314624.html

相关文章:

  • Vue3.js - 一文看懂Vuex
  • Java算法OJ(7)随机快速排序
  • 随时随地编码:香橙派Zero3上安装Code Server远程开发指南
  • Linux 常用操作指令大揭秘(下)
  • 阿里云和七牛云对象存储区别和实现
  • MoneyPrinterTurbo – 开源的AI短视频生成工具
  • 《DevOps实践指南》笔记-Part 3
  • Swift里的数值变量的最大值和最小值
  • 分布式光伏发电站数据采集设备管理硬件解决方案
  • 机器学习——Stacking
  • C++速通LeetCode中等第21题-排序链表(空间O(1))
  • 828华为云征文 | 华为云X实例的镜像管理详解
  • Unexpected end of file from server 错误
  • 系统架构设计师教程 第5章 5.4 软件测试 笔记
  • 论文阅读笔记:Sapiens: Foundation for Human Vision Models
  • MoCo和SimCLR【CV双雄】
  • mxnet算子调用kernel示例(MINIST)
  • Java面试篇-AOP专题(什么是AOP、AOP的几个核心概念、AOP的常用场景、使用AOP记录操作日志、Spring中的事务是如何实现的)
  • SYN Flood攻击原理,SYN Cookie算法
  • 【数据结构C语言】【入门】【首次万字详细解析】入门阶段数据结构可能用到的C语言知识,一章让你看懂数据结构!!!!!!!
  • 我的AI工具箱Tauri版-FasterWhisper音频转文本
  • 什么是 HTTP/3?下一代 Web 协议
  • 直播音频解决方案
  • PyTorch 实现手写数字识别
  • 2024华为杯数模CDEF成品文章!【配套完整解题代码+数据处理】
  • 一文读懂 JS 中的 Map 结构