debian下切换内核

最近在硬件上测试拨号,在排除问题的过程中,升级了内核。结果升级完后,不但不能解决问题,反而带来了新的问题。因此需要将内核版本降下来。网上参考了很多文章,经过了一番测试,最后算是解决了问题。在此记录一下,一方面怕自己时间长了忘记了,另一方面,如果有网友碰到类似的问题,可以借鉴。

话不多说,有效的解决办法有两种:

1. 修改/etc/default/grub文件

关于修改这个文件,无论是csdn还是stackexchange等网页上,都提到可以修改该文件中的GRUB_DEFAULT参数来实现内核的切换。并且指出,在修改这个参数前,首先要确认目标内核的索引。目标内核的索引,通过grep menuentry /boot/grub/grub.cfg中可以查到。比如在我的机器上,grep后,如下:

所以,我的索引为2。照着这个思路,我修改了/etc./default/grub中的GRUB_DEFAULT=2,保存文件后,再update-grub。重启。但是不幸的是,出来的结果,内核并没有切换。

参考另一种方法,说是将/etc/default/grub中的GRUB_DEFAULT改成需要切换的menuentry的名字,而不是索引。照这种意思,在我的环境中,需要将GRUB_DEFAULT修改为'Debian GNU/Linux,with Linux 4.19.0-9-amd64'(注意,加上'')。照着这个方向,去做了修改,同时update-grub,这次提示:

Generating grub configuration file ...
Found linux image: /boot/vmlinuz-4.19.208
Found initrd image: /boot/initrd.img-4.19.208
Found linux image: /boot/vmlinuz-4.19.0-9-amd64
Found initrd image: /boot/initrd.img-4.19.0-9-amd64
Warning: Please don't use old title `Debian GNU/Linux, with Linux 4.19.0-9-amd64' for GRUB_DEFAULT, use `Advanced options for Debian GNU/Linux>Debian GNU/Linux, with Linux 4.19.0-9-amd64' (for versions before 2.00) or `gnulinux-advanced-f6ff0fac-f511-4915-be01-0f9c81aa1d9a>gnulinux-4.19.0-9-amd64-advanced-f6ff0fac-f511-4915-be01-0f9c81aa1d9a' (for 2.00 or later)
done

照这个意思,需要修改GRUB_DEFAULT,并且修改内容与grub的版本有关系。查看grub的版本信息,可以通过

dpkg -l|grep grub|grep ii

在我的机器上,都是2.00以上的,因此,将GRUB_DEFAULT修改为:

'gnulinux-advanced-f6ff0fac-f511-4915-be01-0f9c81aa1d9a>gnulinux-4.19.0-9-amd64-advanced-f6ff0fac-f511-4915-be01-0f9c81aa1d9a'(注意,要加上'')

再次update-grub。重启,Nice,这次成功了。在这里,我又测试了一下,如果按照grub版本号小于2.00(与我机器中版本不一致)的情形去修改GRUB_DEFAULT,结果是失败的。所以,还是与版本号一致靠谱。

除此以外,网上还有别的办法,比如grub-set-default index(index为目标索引),但是在我的环境中,基本都没有成功。

2. 删除多余的镜像文件

这个也是网上一老铁提出的办法,不走寻常路,但是简单有效。具体操作如下:

随意新建一个文件夹,比如/noot,同时将/boot下的所有文件拷贝到noot下。

进入boot文件夹,除了你想留下的内核镜像,删除其他的镜像文件。比如我的环境中,就是删除*.4.19.208*的文件。删除后,update-grub。重启。一样生效。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值