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

大致步骤

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

恢复过程

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

灾难恢复-boot分区的恢复方法的更多相关文章

  1. OEL6 /boot分区删除恢复

    对linux的应用有一段时间来,虽然谈不上精通,但日常应用maintenance还是没问题的,昨天自己故意把/boot分区直接format了,今天来尝试恢复,看看自己对linux启动方面的认识如何,总 ...

  2. U盘被分区后恢复方法

    一:运行cmd 二:输入diskpart,按enter. 三:输入list disk,按enter. 四:选择优U盘,输入select disk X(X代表磁盘后面的数字0.1,可磁盘的大小来判断数字 ...

  3. 关于ubuntu系统boot分区空间不足而又无法卸载旧内核的解决方法

    2016年09月03日 14:16:45 萧氏一郎 阅读数:7802 标签: ubuntuboot分区清理更多 个人分类: linux   版权声明:本文为本猿原创文章,转载务必注明出处,多谢. ht ...

  4. boot分区剩余空间不足

      Linux boot分区用于存放内核文件以及Linux一些启动配置文件,一般情况下分区大小为500M足够使用,如果出现空间不足的问题可以使用以下方法来解决. 查看已经安装的内核 dpkg --ge ...

  5. Cisco设备IOS的恢复方法 两种方法

    如果不小心把Router或者Switch的IOS删除了,特别是Flash中的IOS和ROM中的Mini IOS都没有了的话,连启动都不行的话,有什么方法恢复它呢?答案是方法不只一种,而是两种.其实是我 ...

  6. Linux和Uboot下eMMC boot分区读写

    关键词:eMMC boot.PARTITION_CONFIG.force_ro等. 1. eMMC的分区 大部分eMMC都有类似如下的分区,其中BOOT.RPMB和UDA一般是默认存在的,gpp分区需 ...

  7. 在Linux,误删磁盘分区怎么恢复呢【转】

    在我们运维工作中,频繁的操作,可能命令写入错误,造成磁盘分区的删除,那么应该怎么办呢?怎么恢复磁盘分区呢? 一不小心删除了磁盘分区.如下图,删除了sda磁盘的第一个分区,为系统boot分区,系统如果重 ...

  8. 记一次centos7内核可能意外丢失(测试直接干掉)恢复方法

    本次是虚拟机装的centos7的内核不知原因以外丢失造成无法开机,开机显示找不到内核! 恢复方法: 挂载新的ISO文件,然后进入bios选择dvd启动. 启动后进入Troublesshooting,然 ...

  9. Ubuntu 16.04使用rm -rf误删文件恢复方法收集

    说明:不一定有效,需要不断尝试 一.lsof 文件刚刚被删除,想要恢复,先尝试lsof. lsof |grep data.file1 cp /proc/xxx/xxx/xx /dir/data.fil ...

随机推荐

  1. 实施软件测试风险分析&回归用例刷选

    [一两年前收集整理的资料,感觉不错,放到博客上来] 作为软件测试计划的一部分,软件测试风险的分析与控制是其中重要的环节.如果前期风险分析与控制比较充分,那么会使软件的测试成功性大大增加,且可将由风险异 ...

  2. 基于jenkins搭建一个持续集成服务器

    1 引言 1.1 编写目的 指导质量管理部,业务测试组同事进行Jenkins环境部署,通过Jenkins解决测试环境不可控,开发测试环境不一致等问题. 1.2 使用对象 质量管理部.基础研发部,集成部 ...

  3. centos中-hadoop单机安装及伪分布式运行实例

    创建用户并加入授权 1,创建hadoop用户 sudo useradd -m hadoop -s /bin/bash 2,修改sudo的配置文件,位于/etc/sudoers,需要root权限才可以读 ...

  4. 【MYSQL】ubuntu13安装mysql(转)

    安装的是mysql-5.0.87-linux-i686-glibc23.tar.gz 1.解压tar.gz tar –xzf mysql-5.0.87-linux-i686-glibc23.tar.g ...

  5. 一次花费了一两个小时的mysql问题排查

    晚上把博客迁了个服务器,新建用户的时候遇到问题了. 关于mysql的问题. 前置操作 建了两个用户,一个laravel,一个blog用户以及他们的同名数据库. 建好之后,命令行下面连接mysql服务, ...

  6. FFT_ad采样速率

    调用quartus的ip核测量频率和幅值,可以把程序分成四大部分.第一部分是AD采样模块,本次实验用的是ad828,最高采样率为70M, 根据奈贵斯特采样定律 Fs > 2Fc,即采样率要大于信 ...

  7. Java curator操作zookeeper获取kafka

    Java curator操作zookeeper获取kafka Curator是Netflix公司开源的一个Zookeeper客户端,与Zookeeper提供的原生客户端相比,Curator的抽象层次更 ...

  8. NLPIR大数据挖掘平台新增敏感词扫描功能

    在网络日益发达的现在,也伴随着有益信息与造成不稳定因素的信息也随之日益泛滥,为了网民的思想健康,也为了社会的和谐,在许多对外公共场合下,有些内容是要经过审查才能显示的.在网络审查初期,都是通过人工审核 ...

  9. POJ 3669 Meteor Shower (BFS+预处理)

    Description Bessie hears that an extraordinary meteor shower is coming; reports say that these meteo ...

  10. AngularJs学习笔记3-服务及过滤器

    距离上次别博客有有一段时间了,因为最近公司和个人事情比较多,也因为学习新的知识所以耽搁了,也有人说Angularjs1.5没有人用了,没必要分享,我个人感觉既然开头了我就坚持把他写完,对一些还在使用或 ...