前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >CentOS7下重建grub并恢复系统的故障案例

CentOS7下重建grub并恢复系统的故障案例

作者头像
yuanfan2012
发布2020-12-31 10:06:06
5.6K0
发布2020-12-31 10:06:06
举报
文章被收录于专栏:WalkingCloudWalkingCloud

CentOS7下重建grub恢复系统的故障案例

grub无法启动的故障现象

下面先模拟还原一下故障现象

1、模拟/boot/分区损坏,整个boot分区下文件删掉,当然/boot/grub2/grub.cfg文件也会被删掉

lsblk查看可以看到/boot为单独分区

代码语言:javascript
复制
lsblk
cd /boot/
rm -rf *

(图片可放大查看)

(图片可放大查看)

2、同时也模拟/etc/fstab文件丢失,删掉/etc/fstab

代码语言:javascript
复制
rm -rf /etc/fstab

(图片可放大查看)

3、重启服务器后系统无法启动,卡在grub界面

(图片可放大查看)

故障恢复思路

工具:使用ISO镜像光驱启动进入救援模式,进行恢复

1、/etc/fstab文件丢失会导致无法自动挂载分区,所以需要手动挂载

如果使用了LVM逻辑卷在挂载之前还要先加载逻辑卷 需要手动恢复/etc/fstab,写入开机启动需要挂载的分区条目

2、重建/boot目录下系统内核文件

3、重建/boot/grub2/grub.cfg

4、重启服务器后验证是否恢复成功

具体操作步骤

1、使用CentOS7的原版镜像开机从光驱启动

当然你也可以做成启动U盘,从U盘启动

(图片可放大查看)

(图片可放大查看)

2、选择Troubleshooting->Rescue a CentOS system

(图片可放大查看)

(图片可放大查看)

3、根据提示先选择1

(图片可放大查看)

提示没有找到任何Linux分区,这时会进入shell

4、发现LVM逻辑卷

代码语言:javascript
复制
lsblk
lsblk -f

可以看到/dev/sda2为LVM2_member

代码语言:javascript
复制
/*扫描vg卷*/
vgscan

/*激活vg*/
vgchange -ay 

(图片可放大查看)

5、挂载故障根分区到/mnt/sysimage

代码语言:javascript
复制
mount -rw /dev/mapper/centos-root /mnt/sysimage

cd /mnt/sysimage
并vi etc/fstab文件
下面是根据lsblk -f 反推出来的/etc/fstab

/dev/mapper/centos-root  /     ext4 defaults 0 0
/dev/mapper/centos-opt   /opt  ext4 defaults 0 0
/dev/sda1                /boot ext4 defaults 0 0

(图片可放大查看)

保存后reboot重启

6、重复第1,2,3步,重新进到Rescue模式

这时选择1,就可以找到分区了 可以看到提示你的系统已经mounted under /mnt/sysimage 输入回车进到shell

(图片可放大查看)

lsblk可以看到/mnt/sysimage 和/mnt/sysimage/boot已经挂载上了(见下面第7步中的截图)

7、安装内核

代码语言:javascript
复制
rpm -ivh /run/install/repo/Packages/kernel-3.10.0-1160.el7.x86_64.rpm --root=/mnt/sysimage --force

(图片可放大查看)

8、重建grub.cfg

代码语言:javascript
复制
chroot /mnt/sysimage
grub2-install /dev/sda
grub2-mkconfig -o /boot/grub2/grub.cfg

exit

退出实根后重启服务器 reboot

(图片可放大查看)

9、这时验证是否修复成功

可以看到内核菜单已经正常显示

(图片可放大查看)

第二次自动重启后,系统正常进行登录界面

(图片可放大查看)

系统恢复成功

(图片可放大查看)

下图为CentOS7启动原理流程图

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-12-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 WalkingCloud 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • grub无法启动的故障现象
  • 故障恢复思路
  • 具体操作步骤
    • 1、使用CentOS7的原版镜像开机从光驱启动
      • 2、选择Troubleshooting->Rescue a CentOS system
        • 3、根据提示先选择1
          • 4、发现LVM逻辑卷
            • 5、挂载故障根分区到/mnt/sysimage
              • 6、重复第1,2,3步,重新进到Rescue模式
                • 7、安装内核
                  • 8、重建grub.cfg
                    • 9、这时验证是否修复成功
                    领券
                    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档