ubuntu丢失网络/网卡的一种原因&&解决方案

时间:2024-07-05 18:52:09

现象

  • 开机进入ubuntu后发现没有网络,无论是在桌面顶部状态栏的快捷键 还是 系统设置中,都没有”有线网“和”无线网“的选项,”代理“的选项是有的
  • 使用数据线连接电脑和手机,手机开启”通过usb共享网络“,还是没有任何网络
  • 运行ifconfigifconfig -a都不能看到有线网(名称类似enpxxx)和无线网(wlpxxx)
  • 运行命令sudo lshw -c network,输出类似如下,发现有两个网卡的名字(看product)
  *-network UNCLAIMED             
       description: Ethernet interface
       product: RTL8111/8168/8211/8411 PCI Express Gigabit Ethernet Controller
       vendor: Realtek Semiconductor Co., Ltd.
       physical id: 0
       bus info: pci@0000:25:00.0
       logical name: enp37s0
       version: 15
       serial: d8:bb:c1:46:85:0e
       size: 1Gbit/s
       capacity: 1Gbit/s
       width: 64 bits
       clock: 33MHz
       memory:fc700000-fc703fff
  *-network UNCLAIMED
       description: Wireless interface
       product: Dual Band Wireless-AC 3168NGW [Stone Peak]
       vendor: Intel Corporation
       physical id: 0
       bus info: pci@0000:26:00.0
       logical name: wlp38s0
       version: 10
       serial: 18:cc:18:cc:d8:1e
       width: 64 bits
       clock: 33MHz

原因

当前安装的内核版本缺少安装linux-modules-extra-xxxx-generic

发现原因的过程(可以跳过)

  • 我也先是在网上搜索”ubuntu 网络消失“,找到的解决方案基本都是重置NetworkManager(或者类似)的操作,但是我试了都没有用(不是无脑尝试,而是看了他们的文章后觉得可行、而且重置操作不会有啥伤害)
  • 跟着那些教程的操作中会有使用命令ifconfiglshw来查看当前网卡的信息。突破口就在lshw,我的输出包含”network UNCLAIMED“,去网上一查,这个回答说是缺少安装linux-modules-extra-xxxx-generic。然后我的ubuntu目前用的内核版本是6.8.0-36,再看我已经安装的内核中,果然没有安装linux-modules-extra-6.8.0-36-generic
    在这里插入图片描述

解决方法

  • 安装缺少安装的linux-modules-extra-xxxx-generic,其中xxxx是当前使用的内核版本(可以通过命令uname查看)

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

    • 方法一:通过命令dplg -l|grep linux-modules,查看ubuntu是否安装了其他版本的内核 && 安装了对应的linux-modules-extra-xxxx-generic。重启电脑,在grub界面中选择“Advanced options for ubuntu" ,然后选择前面看好的内核版本,就可以正常进入ubuntu,而且有网络。此时,通过apt正常安装即可

    • 方法二:使用其他可以联网的设备,到https://pkgs.org/上,搜索linux-modules-extra,然后根据自己的linux发行版本以及内核下载.deb文件(但是我用的是ubuntu24.04、内核版本6.8.0-36,找不到对应的包),然后拷贝到出问题的电脑上,使用命令sudo dpkg -i linux-modules-extra-xxxx-generic.deb即可