Linux升级内核回退到旧内核启动
Linux升级新kernel后默认启动从新内核启动,但是我们升级kernel后,旧内核还是依然存在系统中的,避免因故障等原因导致的回退操作
下面是两种从默认新kernel启动修改为默认从旧kernel启动
方法一:
grbu2-set-default
# 这种方法主要使用在旧版本的系统中如(centos7/redhat7及以下旧版本系统),直接操作的GRUB2配置以实现
# 从旧内核启动,操作如下:# 查看系统中的内核索引编号(记住旧内核索引编号)
cat /etc/grub2.cfg|awk -F\' '/menuentry /{print i++ " : "$2}'
# 查看系统默认启动内核索引编号
grub2-editenv list
# 修改默认启动内核索引编号
grub2-set-default 2
# 重新生成grub配置文件
grub2-mkconfig -o /boot/grub2/grub.cfg
# 重启系统
reboot
# 查看是否内核启动为旧内核
uname -r
方法二:
grubby
# 这种方法使用在比较新的系统版本中,如(centos8/redhat8及以上版本),不需要单独安装可使用
# 从旧内核启动,操作如下:# 查看系统默认启动内核
grubby --default-kernel
# 查看系统中的旧内核版本
ll /boot/vmlinuz-*
# 修改默认启动内核为旧内核版本
grubby --set-default=/boot/vmlinuz-*(旧内核)
# 重启系统
reboot
# 查看是否内核启动为旧内核
uname -r
grub2-set-default在Centos/Redhat7以及以下版本系统中稳定性高一点,升级到新的系统可能就会存在兼容性的问题,所以在Centos/Redhat8以及以上的版本系统中还是推荐使用grubby比较可靠。
Centos/Redhat7以及以下版本系统:推荐使用grub2-set-default
Centos/Redhat8以及以上版本系统:推荐使用grubby