【Ubuntu内核】解决Ubuntu 20.04更新内核后无法联网的问题

最近在使用Ubuntu 20.04时,在更新内核后无法进行WiFi联网。我的电脑上装载的是AX211型号的无线网卡,之前安装了相应的驱动,并且一直正常使用。但不小心更新到了Linux 5.15.0-94-generic后,突然发现无法连接网络了。

于是首先怀疑是不是内核版本的问题导致的,尝试降低内核版本启动看是否能够正常连接WiFi。进入了系统启动时的GNU Grub界面,然后选择了Advanced options for Ubuntu,选择较低的内核版本Linux 5.15.0-92-generic进行启动,进入系统后发现WiFi可以正常工作。于是决定修改默认启动的内核版本为该旧版本。

解决方法

1. 查看内核启动顺序

使用以下命令查看内核的启动顺序:

grep menuentry /boot/grub/grub.cfg

结果显示了系统中存在的多个内核版本以及它们的启动选项:

if [ x"${feature_menuentry_id}" = xy ]; then
  menuentry_id_option="--id"
  menuentry_id_option=""
export menuentry_id_option
menuentry 'Ubuntu' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-d19495dd-3419-4586-9b13-b5c523ce9591' {
   
submenu 'Ubuntu 的高级选项' $menuentry_id_option 'gnulinux-advanced-d19495dd-3419-4586-9b13-b5c523ce9591' {
   
	menuentry 'Ubuntu,Linux 5.15.0-94-generic' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.15.0-94-generic-advanced-d19495dd-3419-4586-9b13-b5c523ce9591' {
   
	menuentry 'Ubuntu, with Linux 5.15.0-94-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.15.0-94-generic-recovery-d19495dd-3419-4586-9b13-b5c523ce9591' {
   
	menuentry 'Ubuntu,Linux 5.15.0-92-generic' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.15.0-92-generic-advanced-d19495dd-3419-4586-9b13-b5c523ce9591' {
   
	menuentry 'Ubuntu, with Linux 5.15.0-92-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.15.0-92-generic-recovery-d19495dd-3419-4586-9b13-b5c523ce9591' {
   
	menuentry 'Ubuntu,Linux 5.15.0-67-generic' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.15.0-67-generic-advanced-d19495dd-3419-4586-9b13-b5c523ce9591' {
   
	menuentry 'Ubuntu, with Linux 5.15.0-67-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.15.0-67-generic-recovery-d19495dd-3419-4586-9b13-b5c523ce9591' {
   
	menuentry 'Ubuntu,Linux 5.15.0-46-generic' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.15.0-46-generic-advanced-d19495dd-3419-4586-9b13-b5c523ce9591' {
   
	menuentry 'Ubuntu, with Linux 5.15.0-46-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.15.0-46-generic-recovery-d19495dd-3419-4586-9b13-b5c523ce9591' {
   
menuentry 'Windows Boot Manager (在 /dev/nvme0n1p2)' --class windows --class os $menuentry_id_option 'osprober-efi-5ED4-0D9E' {
   

居然装了这么多版本的内核。。。
发现了所需的Linux 5.15.0-92-generic。菜单索引从0开始,即:
0: ‘Ubuntu,Linux 5.15.0-94-generic’
1: ‘Ubuntu, with Linux 5.15.0-94-generic (recovery mode)’
2: ‘Ubuntu,Linux 5.15.0-92-generic’
3: ‘Ubuntu, with Linux 5.15.0-92-generic (recovery mode)’

因此希望降低到的内核版本Linux 5.15.0-92-generic在菜单中的位置为2。

2. 编辑GRUB配置文件

然后,编辑GRUB配置文件,使用命令sudo gedit /etc/default/grub打开,并设置GRUB_DEFAULT以指定默认启动的内核版本。

GRUB_DEFAULT="1>2"

GRUB_DEFAULT中,索引值的格式是x>y,其中x表示主菜单中的索引值,而y表示子菜单中的索引值。对于主菜单中的选项,索引从0开始计数,而对于子菜单中的选项,索引同样从0开始计数。

所以,当填写GRUB_DEFAULT="1>3"时,我指定的是主菜单中的第2个选项(索引1,即Advanced options for Ubuntu),以及在子菜单中的第3个选项(索引2)。这个索引值需要根据实际情况调整。

3. 更新GRUB配置文件

保存并关闭文件后,运行命令来更新GRUB配置文件,以使修改生效:

sudo update-grub

4. 重启系统

重启电脑,发现问题得到了解决,系统默认启动了旧的内核版本,可以正常联网了。

相关推荐

  1. ubuntu22.04更新内核无wifi选项

    2024-02-18 06:46:01       61 阅读
  2. Ubuntu禁止内核自动更新

    2024-02-18 06:46:01       24 阅读
  3. RK3568 Ubuntu解决无法制作SD卡问题

    2024-02-18 06:46:01       41 阅读
  4. ubuntu切换内核

    2024-02-18 06:46:01       66 阅读
  5. Ubuntu下载内核源代码

    2024-02-18 06:46:01       37 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-02-18 06:46:01       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-02-18 06:46:01       100 阅读
  3. 在Django里面运行非项目文件

    2024-02-18 06:46:01       82 阅读
  4. Python语言-面向对象

    2024-02-18 06:46:01       91 阅读

热门阅读

  1. 学习Android的第十四天

    2024-02-18 06:46:01       51 阅读
  2. 【无标题】

    2024-02-18 06:46:01       50 阅读
  3. ABC341A-D题解

    2024-02-18 06:46:01       51 阅读
  4. 寿司转盘,用 C 编码

    2024-02-18 06:46:01       57 阅读
  5. Pytorch的安装教程,解决jupyter不能使用pytorch的问题

    2024-02-18 06:46:01       59 阅读
  6. 每日OJ题_算法_递归⑤力扣50. Pow(x, n)

    2024-02-18 06:46:01       62 阅读
  7. JVM的类的生命周期

    2024-02-18 06:46:01       48 阅读
  8. 2024年五大科技与创业趋势:从AI退热到IPO挑战

    2024-02-18 06:46:01       53 阅读
  9. MySQL定时备份及清理脚本

    2024-02-18 06:46:01       56 阅读
  10. C/C++进制转换

    2024-02-18 06:46:01       53 阅读