本文介绍了Alibaba Cloud Linux 3系统的ECS实例,安装了低于当前系统正在运行的内核版本后,系统未自动切换至该低版本的内核上运行的原因及解决方案。
问题描述
ID为aliyun_3_9_x64_20G_alibase_20231219.vhd或aliyun_3_9_x64_20G_dengbao_alibase_20231219.vhd的Alibaba Cloud Linux 3镜像,在安装了低于当前系统正在运行的内核版本后重启系统,但系统未自动切换至该低版本的内核上运行。
说明
您可以运行
uname -r
命令查看当前内核的版本。您可以运行
cat /etc/image-id
命令,查询镜像ID和版本。
问题原因
Alibaba Cloud Linux 3系统在启动时会从/boot/grub2/
目录下加载文件,不会从/boot/grub2/
目录下加载软连接,导致grub
引导时无法通过软连接获取grubenv
文件,从而默认引导最高版本的内核。
说明
/boot/grub2/
下的grubenv
是一个软连接,指向/boot/efi/EFI/alinux/
目录下的grubenv
文件。
解决方案
您可以根据您的ECS实例是否部署业务来选择相应的方案。
ECS实例中已部署业务,不方便更换镜像时,您可以通过方案一来解决该问题。
ECS实例中未部署业务,您可以通过方案二来解决该问题。
方案一:将grubenv软连接替换为/boot/efi/EFI/alinux/grubenv文件
执行以下命令,删除
grubenv
软连接。sudo rm /boot/grub2/grubenv
输入
y
后按Enter
键,确认删除。执行以下命令,将
/boot/efi/EFI/alinux
目录下的grubenv
文件复制到/boot/grub2/
目录下。sudo cp /boot/efi/EFI/alinux/grubenv /boot/grub2/
执行以下命令,重启系统。
sudo reboot
方案二:使用Alibaba Cloud Linux 3.2104 U9.1及以上版本镜像
更换镜像具体操作,请参见更换镜像。
镜像发布记录,请参见Alibaba Cloud Linux 3镜像发布记录。
文档内容是否对您有帮助?