现象
- 开机进入ubuntu后发现没有网络,无论是在桌面顶部状态栏的快捷键 还是 系统设置中,都没有”有线网“和”无线网“的选项,”代理“的选项是有的
- 使用数据线连接电脑和手机,手机开启”通过usb共享网络“,还是没有任何网络
- 运行
ifconfig
和ifconfig -a
都不能看到有线网(名称类似enpxxx)和无线网(wlpxxx) - 运行命令
sudo lshw -c network
,输出类似如下,发现有两个网卡的名字(看product)
*-network UNCLAIMED description: Ethernet interfaceproduct: RTL8111/8168/8211/8411 PCI Express Gigabit Ethernet Controllervendor: Realtek Semiconductor Co., Ltd.physical id: 0bus info: pci@0000:25:00.0logical name: enp37s0version: 15serial: d8:bb:c1:46:85:0esize: 1Gbit/scapacity: 1Gbit/swidth: 64 bitsclock: 33MHzmemory:fc700000-fc703fff*-network UNCLAIMEDdescription: Wireless interfaceproduct: Dual Band Wireless-AC 3168NGW [Stone Peak]vendor: Intel Corporationphysical id: 0bus info: pci@0000:26:00.0logical name: wlp38s0version: 10serial: 18:cc:18:cc:d8:1ewidth: 64 bitsclock: 33MHz
原因
当前安装的内核版本缺少安装linux-modules-extra-xxxx-generic
发现原因的过程(可以跳过)
- 我也先是在网上搜索”ubuntu 网络消失“,找到的解决方案基本都是重置NetworkManager(或者类似)的操作,但是我试了都没有用(不是无脑尝试,而是看了他们的文章后觉得可行、而且重置操作不会有啥伤害)
- 跟着那些教程的操作中会有使用命令
ifconfig
和lshw
来查看当前网卡的信息。突破口就在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
即可
-