博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
灾难恢复-boot分区的恢复方法
阅读量:6625 次
发布时间:2019-06-25

本文共 1466 字,大约阅读时间需要 4 分钟。

img_5b7642b782eefc4bf667734a0c991c85.png

boot分区是系统启动中最重要的部分,如果服务器由于病毒攻击又或者被管理员误删除了boot分区。那么就会存在潜在的风险。为什么说是潜在的风险?因为boot分区被删除后系统仍在继续运行,看似无状况但是在执行关机操作后就会无法启动。

大致步骤

1.挂载CentOS系统镜像2.进入救援模式3.修复fstab文件4.再次进入救援模式5.从新安装内核文件6.安装grub7.手动修复grub8.重启进入系统

恢复过程

1.首先查看系统的磁盘情况,根目录在逻辑卷,boot分区为普通文件系统。注:boot分区只能在基本文件系统。

然后将fstab文件移出,将boot分区下所有文件删除,模拟系统出现故障。确认boot分区下没有任何文件。

img_0d92c8ee8c921560cd85524619da1cd2.png

2.重新启动操作系统会出现如下图所示,为什么这个磁盘设备连boot分区都没了系统还将这个设备当做启动设备呢?那是因为BIOS根据设定好的顺序寻找第一个有MBR信息的磁盘设备,只要有MBR信息不论能不能启动都会把这个设备当做启动设备。如图所示即/boot分区与fstab文件全部丢失的情况

img_fb606c83f6c62796c424b383ea31a47a.png

3.再重新启动,设定bios优先从光盘启动,然后选择第三个,进入救援模式

img_9fb84a96e44026d30e385b490289bd34.png

4.一路回车一路yes,直到下图所示选择no不开启网络功能,因为这次主要演示从光盘的救援模式修复,所以没有必要启动网络服务。如果当前环境下没有光驱,那么可以开启网络服务进行修复,网络修复等下次再演示。

img_31e86be0fb5b4cd3850b6f8fffd1a011.png

5.救援系统启动后有一个任务就是将你原操作系统的根挂在到救援系统中/mnt/sysimage。由于fstab文件也被我删除了,所以救援系统无法找到原系统的磁盘路径,也就谈不上挂载原系统的根了,所以首要任务就是先修复/etc/fstab文件。

img_e4d456a7f543c6faf5461e182cf19952.png

6.使用blkid命令查看当前系统中的设备信息,发现只有2个分区。一个为ext4格式,一个为逻辑卷格式。我这里搭建的环境比较简单如果在生产中应该会有多个分区。从图上新信息分析出/dev/sda1为boot分区,/dev/sda2卷组。

img_ec083fb6438b0e5bc8dd3bb899399e92.png

7.既然知道根分区在在逻辑卷中,那么使用lvdispaly命令查看逻辑卷分区。黄色框中说明逻辑卷是非激活状态。

img_0c2d17a0c589c5844239b24056f96fca.png

8.lvsacn查看逻辑卷的状态,此时显示为非激活状态。vgchange -ay激活所有逻辑卷。lvscan再次查看逻辑卷状态,对比第一次已经从inactive变为active(激活)

img_dbb8ffaabf445849895acd620bc987c3.png

9.再使用blkid命令查看设备信息,发现多了2个设备信息,这就是逻激活逻辑卷后显示出来的。如果分区多的话那就通过手动逐一挂载后进到分区中去,查看分区中的各目录分析各分区的作用。在这里很容易分辨出一个是root分区一个是swap分区。

img_4c0c1cc1cb9103c0d27968b9c6f406b6.png

10.创建挂载点,将root分区挂载至挂载点

img_eb6a2817cbe9882d309e53c888736056.png

11.手动创建fstab文件,按照fstab文件的格式填写相应的分区信息

img_ea93037d4c16e0d39de106ab38472a36.png

img_c69e7c75fc6e3df6385caa389c5c1cea.png

12.重新启动后再次进入救援模式,救援模式会提示将原操作系统的根挂载到/mnt/sysimage,此时标志着/etc/fstab文件已经修复完成

img_384eb5d799554886d433b25e4e1c7b28.png

13.进入救援模式,首先要切根,然后挂在光盘,安装kernel文件

img_ce65fad35bf31f1baaa0e6eecf61b304.png

14.查看boot分区,目录内出现一堆文件,包括内和文件与伪根文件系统表明kernel安装完成

img_dceb524f5aaac27929014d9e3fdbdd0a.png

15.安装grub,安装时指定磁盘设备,而不是分区。然后sync同步分区一定要多同步几次。

img_88a8ac9fa1642b0215fdaf5906ca23ca.png

16.再次查看boo分区,如果出现grub目录,就表示grub已经安装完成。

img_9eaae6c8130de7b106aef5b1894dce6d.png

17.手动创建grub,红色框中为设定根目录,一定要写根分区而不是磁盘。

Paste_Image.png

18.再次开机出现grub界面,按下回车系统正常启动!

img_b1d1b87422f3002b73a8e48bba75a6c5.png

转载地址:http://yhtpo.baihongyu.com/

你可能感兴趣的文章
curl命令使用实例
查看>>
mysql设置密码,查询帮助,密码找回
查看>>
MySQL超时参数以及相关DataX数据同步案例分享
查看>>
zabbix监控Vcenter和ESXi主机
查看>>
交换机SPAN功能配置
查看>>
Linux之组管理
查看>>
Centos7永久关闭防火墙
查看>>
源码编译安装
查看>>
shell 中特殊符号
查看>>
基于RHEL6使用rsync构建镜像网站
查看>>
Maven环境配置
查看>>
11.1开始,需要stop两次才能停下Data Pump job
查看>>
keepalived+Nginx实现高可用集群
查看>>
使用jsoup来写小说整理器
查看>>
从本科生到数据科学家,为啥这个职业门槛高?
查看>>
运维学习之用户和组的创立删除和用户权力的使用
查看>>
if语句总结及编写脚本
查看>>
肤浅感受一下为什么曾经的宁波公司不做外包项目的原因
查看>>
MV双网卡网络不通问题
查看>>
网站证书ssl
查看>>