当CentOS 7.8在启动时发生内核恐慌时的解决方法

首先

由于CentOS 7.8进行了yum更新后无法启动,请记录其解决方法。

CentOS 7.8进行yum更新后无法启动,我记录了解决办法。

在同时安装的操作系统中,尽管使用ansible进行批量更新,但其中一台电脑在更新后发生了内核崩溃而无法启动。根据我随意搜索的结果,大多数文章都提到通过修改grub.conf文件来解决问题,没有看到关于grub2的文章,所以我发布了这篇帖子。

组成

環境
HWvmware workstation player 15OScentos7.8更新前カーネルCentOS Linux (3.10.0-1127.el7.x86_64) 7 (Core)更新後カーネルCentOS Linux (3.10.0-1127.18.2.el7.x86_64) 7 (Core)

临时处理

根据我参考的网站,据说只需修改grub配置以更改启动内核,即可实现一次性启动。

参考:
– CentOS 6.3 – 内核崩溃

说白了,只需将启动时加载的内核版本更改为之前的那个版本,就可以一次性启动。
进行更改以选择默认启动的内核版本。
参考文章是关于grub的,而这次使用的是grub2,所以我参考了Redhat的页面并执行了以下命令,结果可以成功启动。

[root@CENTOS7NODE12 ~]# awk -F\' '$1=="menuentry " {print $2}' /etc/grub2.cfg
CentOS Linux (3.10.0-1127.18.2.el7.x86_64) 7 (Core)
CentOS Linux (3.10.0-1127.el7.x86_64) 7 (Core)
CentOS Linux (0-rescue-fa877117174942a9ad676067f5fe02d2) 7 (Core)
[root@CENTOS7NODE12 ~]# 
[root@CENTOS7NODE12 ~]# grub2-set-default 1

参考:
– 26.5. 自定义GRUB 2配置文件

正面應對

开始可以启动,但是不喜欢和其他机器的内核版本不同,所以决定重新安装内核。
内核信息如下:
node12仍在使用旧的内核启动。

[root@ANSIBLE01 ansible_work]# ansible -i /etc/ansible/hosts centos7 -m command -a "uname -r"
node1 | CHANGED | rc=0 >>
3.10.0-1127.18.2.el7.x86_64
node3 | CHANGED | rc=0 >>
3.10.0-1127.18.2.el7.x86_64
node2 | CHANGED | rc=0 >>
3.10.0-1127.18.2.el7.x86_64
node11 | CHANGED | rc=0 >>
3.10.0-1127.18.2.el7.x86_64
node12 | CHANGED | rc=0 >>
3.10.0-1127.el7.x86_64
[root@ANSIBLE01 ansible_work]# 

确认事前的状态后,重新安装内核。

[root@CENTOS7NODE12 ~]# yum reinstall kernel
[root@CENTOS7NODE12 ~]# reboot

重新安装后,成功启动了。

[root@ANSIBLE01 ansible_work]# ansible -i /etc/ansible/hosts centos7 -m command -a "uname -r"
node1 | CHANGED | rc=0 >>
3.10.0-1127.18.2.el7.x86_64
node2 | CHANGED | rc=0 >>
3.10.0-1127.18.2.el7.x86_64
node3 | CHANGED | rc=0 >>
3.10.0-1127.18.2.el7.x86_64
node11 | CHANGED | rc=0 >>
3.10.0-1127.18.2.el7.x86_64
node12 | CHANGED | rc=0 >>
3.10.0-1127.18.2.el7.x86_64
[root@ANSIBLE01 ansible_work]# 
广告
将在 10 秒后关闭
bannerAds