Knowledgebase

救援模式更换内核

  • 0

1.先进救援模式
2.挂载原系统盘
   fdisk -l #查看分区

   mount /dev/vdb /mnt #挂载/dev/vdb到/mnt下

   for d in dev sys run proc; do sudo mount --bind /$d /mnt/$d; done #挂载别的东西,作用未知

   chroot /mnt #进入原系统(进入原系统分区:/ )

查看可使用内核

dpkg -l |grep linux-image

只有输出结果第一列中显示ii状态的内核版本才是可以使用的,显示rc状态的表示删除仅保存了配置的包,可能是内核升级后被删除了,因此需要重新安装

安装新版本内核

apt update

apt install linux-image-5.4.0-146-generic  (以下:linux-image-5.4.0-146-generic版本升级)



安装额外模块 (部分机器可能需要使用到)

dpkg --get-selections | grep linux

对比已经安装的内核版本发现linux-modules-extra-xxx、linux-headers-xxx、linux-hwe-5.4-headers-xxx未安装。虽然解决串口问题不需要全部安装,但为了完成完全的内核版本切换,以免后续出现其他问题,我认为这些内容也需要一并安装。执行以下命令:

apt install linux-headers-5.4.0-146-generic
apt install linux-hwe-5.4-headers-5.4.0-146
apt install linux-modules-extra-5.4.0-146-generic

你需要将5.4.0-146替换为你需要切换的版本号,再使用

dpkg --get-selections | grep linux  可以看得到相应版本的模块已经安装。

 

Ubuntu设置开机默认内核

vi /etc/default/grub

可以看到有一行配置为GRUB_DEFAULT=0,这是根据开机后进入grub内核版本选择界面时,启动内核的索引,第一行索引为0,后续依次为1、2、3、4…等。因次想要指定正确的索引还是要进入grub引导界面。在远程场景下,推荐使用如下写法指定需要启动的版本:

GRUB_DEFAULT="Advanced options for Ubuntu>Ubuntu, with Linux 5.4.0-146-generic"

修改完后配置项如下:
在这里插入图片描述

你需要把"5.4.0-146-generic"替换为自己想启动的版本,然后进行配置更新与重启。

update-grub
reboot 或者退出救援模式

 


Was this answer helpful?

© Copyright 2019. CTG SERVER LTD