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

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

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


640.jpg

grub无法启动的故障现象


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

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

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


lsblk
cd /boot/
rm -rf *

640.jpg

640.jpg


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


rm -rf /etc/fstab

640.jpg

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


640.jpg


故障恢复思路


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

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

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

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

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

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


具体操作步骤


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


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


640.jpg


640.jpg

2、选择Troubleshooting->Rescue a CentOS system


640.jpg

640.jpg

3、根据提示先选择1

640.jpg


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


4、发现LVM逻辑卷


lsblk
lsblk -f


可以看到/dev/sda2为LVM2_member


/*扫描vg卷*/
vgscan
/*激活vg*/
vgchange -ay


640.jpg

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


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


640.jpg640.jpg


保存后reboot重启


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


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

640.jpg


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


7、安装内核


rpm -ivh /run/install/repo/Packages/kernel-3.10.0-1160.el7.x86_64.rpm --root=/mnt/sysimage --force


640.jpg


8、重建grub.cfg


chroot /mnt/sysimage
grub2-install /dev/sda
grub2-mkconfig -o /boot/grub2/grub.cfg
exit


退出实根后重启服务器 reboot


640.jpg


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


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

640.jpg

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


640.jpg

640.jpg

系统恢复成功


下图为CentOS7启动原理流程图

640.jpg


相关文章
|
1月前
|
关系型数据库 MySQL Linux
卸载、下载、安装mysql(Linux系统centos7)
卸载、下载、安装mysql(Linux系统centos7)
|
3月前
|
Java Linux Shell
linux自动部署jar包,注册系统服务(基于Centos7)
linux自动部署jar包,注册系统服务(基于Centos7)
126 0
|
4月前
|
安全 Linux 网络安全
百度搜索:蓝易云【centos7系统添加用户、密码,以及修改端口教程】
请牢记,对系统进行任何更改都需要谨慎行事。在执行这些操作之前,最好备份重要的数据和配置文件,并确保您具有足够的权限和知识来进行这些更改。如果在操作过程中遇到任何问题,请务必小心并及时修复,以免影响系统的稳定性和安全性。
74 2
|
4月前
|
缓存 Linux 网络安全
系统-安装centos6
系统-安装centos6
153 0
|
5月前
|
Linux Shell 数据安全/隐私保护
CentOS-7.9忘记密码如何进入系统
前言 密码记不住一定要备份,重点! 以下步骤旨在提供一个大致的指南。请根据你的系统和问题进行调整,并确保在进行任何更改之前备份重要数据。如果对任何命令不确定,最好先进行额外的研究或咨询。 启动系统并进入 GRUB 引导界面 选择你要引导的Linux系统,并在启动时按下键盘上的 e 键来编辑引导选项。 修改启动参数 在启动参数中找到以 ro 开头的行,将其修改为 rw 并在其末尾添加 rd.break。这将告诉系统在启动时进入临时环境以修改密码。 启动系统
509 2
|
4月前
|
监控 安全 Linux
CentOS7下部署ARL资产侦察灯塔系统
CentOS7下部署ARL资产侦察灯塔系统
228 3
|
2天前
|
关系型数据库 MySQL Linux
一次虚拟机centos7系统崩溃恢复记录
一次虚拟机centos7系统崩溃恢复记录
|
2天前
|
Java Linux API
minio文档系统在centos7虚拟机上的搭建
minio文档系统在centos7虚拟机上的搭建
|
4天前
|
安全 Linux Anolis
centos停止更新?这篇博客教会你CentOS 7转化系统为阿里龙蜥Anolis OS 7
centos停止更新?这篇博客教会你CentOS 7转化系统为阿里龙蜥Anolis OS 7
|
6天前
|
安全 关系型数据库 MySQL
CentOS 7系统加固详细方案SSH FTP MYSQL加固
CentOS 7系统加固详细方案SSH FTP MYSQL加固