我卸载了所有旧内核,只安装了新内核 linux-image-5.8.0-36-generic。因此,我无意中删除了一些内核模块,删除了旧内核。例如,网络控制器和以太网控制器没有内核模块。我试过,sudo apt install linux generic
这可以解决缺少模块的问题。但是,没有互联网连接就无法完成此操作,所以首先我需要网络或以太网控制器的内核模块,但我不知道如何找到正确的模块。
答案1
拥有 20.04 和相同的内核版本,我为您检查了一下。
这是确切的软件包版本:linux-generic 5.4.0.60.63
但这可能不是您的系统所缺少的东西,因为我的系统中没有安装它......
你的系统可能缺少linux-modules-xxxxxxxx
user@host:~$ dpkg -l | grep linux-modules
ii linux-modules-5.4.0-42-generic 5.4.0-42.46 amd64 Linux kernel extra modules for version 5.4.0 on 64 bit x86 SMP
ii linux-modules-5.8.0-36-generic 5.8.0-36.40~20.04.1 amd64 Linux kernel extra modules for version 5.8.0 on 64 bit x86 SMP
ii linux-modules-extra-5.8.0-36-generic 5.8.0-36.40~20.04.1 amd64 Linux kernel extra modules for version 5.8.0 on 64 bit x86 SMP
找到官方下载链接:
https://packages.ubuntu.com/focal/linux-modules-5.4.0-42-generic
https://packages.ubuntu.com/focal/linux-modules-5.8.0-36-generic
https://packages.ubuntu.com/focal/linux-modules-extra-5.8.0-36-generic
对于最后一个,您还应该获取依赖项:crda
和linux-image-5.8.0-36-generic
还可以找到如何离线从 Ubuntu 安装媒体安装软件包:
https://askubuntu.com/a/1048260/77093
关于我的系统:
user@host:~$ uname -a
Linux T410 5.8.0-36-generic #40~20.04.1-Ubuntu SMP Wed Jan 6 10:15:55 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
user@host:~$ apt-cache policy linux-generic
linux-generic:
Installed: (none)
Candidate: 5.4.0.60.63
Version table:
5.4.0.60.63 500
500 http://fr.archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages
500 http://security.ubuntu.com/ubuntu focal-security/main amd64 Packages
5.4.0.26.32 500
500 http://fr.archive.ubuntu.com/ubuntu focal/main amd64
以下是我删除旧内核的方法:
dpkg --list | grep 'linux-image' | awk '{ print $2 }' | sort -V | sed -n '/'"$(uname -r | sed "s/\([0-9.-]*\)-\([^0-9]\+\)/\1/")"'/q;p' | xargs apt-get -y purge
dpkg --list | grep 'linux-headers' | awk '{ print $2 }' | sort -V | sed -n '/'"$(uname -r | sed "s/\([0-9.-]*\)-\([^0-9]\+\)/\1/")"'/q;p' | xargs apt-get -y purge
希望这会有所帮助,请告诉我:)