恢复/boot 分区和/etc/fstab 文件

​ boot 分区是系统启动中最重要的部分,如果服务器由于病毒攻击又或者被管理员误删除了 boot 分区。那么就会存在潜在的风险。为什么说是潜在的风险?因为 boot 分区被删除后系统仍在继续运行,看似无状况但是在执行关机操作后就会无法启动。正常情况下/boot 分区都是普通文件系统,ext3/ext4/xfs(安装操作系统的时候要注意这一点),其他分区为 lvm 逻辑分区,我们这里来模拟一下这个故障,手动删除/etc/fstab,/boot 目录! (no zuo no die!!! )

严重声明:禁止在生产环境操作,出现任何问题,和本人无关~

模拟故障场景

删除/etc/fstab、/boot 分区文件,然后重启服务器

03

重启后故障现象如下

03

恢复chroot

我们挂载 iso 镜像(插入系统光盘),进入到救援模式

由于我们把/etc/fstab 删除了,所以救援系统找不到原来系统的路径了,我们熟悉的 chroot /mnt/sysimage 选项提示不见了,所以我们要先恢复/etc/fstab 文件

03

恢复磁盘

查看磁盘信息

我们使用 blkid 命令,可以查看到磁盘信息,默认的/dev/sda1 为/boot 分区,看不到 lvm 逻辑卷的存在

03

激活逻辑卷

我们查看一下逻辑卷的状态,都是非激活状态的,我们手动激活一下

03

lvscan 查看逻辑卷的状态,此时显示为非激活状态。vgchange -ay 激活所有逻辑卷

03

再次查看 lvm 逻辑卷的状态,已经由 INACTIVE(非激活状态)变成 ACTIVE(激活状态)了。

03

恢复/etc/fstab 文件

再次 blkid 查看磁盘状态的时候,发现 swap 和/分区的逻辑卷已经出现了;新建一个/mnt/tmp 目录,将/分区挂载到/mnt/tmp 目录下,然后使用 blkid 命令将输出信息导入到/mnt/tmp/etc/fstab 文件中,然后进行编辑

03

编辑完成的内容如下

03

重启之后再次引导到救援模式

这里就可以看到提示,可以 chroot /mnt/sysimage 了,然后我们挂载一下 iso 光驱镜像文件,强行安装( 虽然我们把 /boot 目录下的文件删除了,但是系统里的 kernel 包是已经安装的状态,直接安装的话,会提示已经安装了,我们加一个 —force 参数,表示覆盖安装 )内核 kernel 文件,然后就可以看到/boot 目录下已经有文件产生了

03

恢复grub

我们在用之前学过的方法,恢复一下 grub.conf 文件就可以了。

03

03

可以正常启动到登录界面了,恢复完成!!!

独学无友,孤陋寡闻;学习记录,欢迎拍砖!