美文网首页
启动流程和故障恢复

启动流程和故障恢复

作者: 王永清88 | 来源:发表于2017-09-03 13:18 被阅读0次

centos6启动大体分为四部

一、POST加电自检
二、MBR引导
三、GRUB
四、加载内核
其中,MBR引导有三部分组成

  1. 446个字节为boot loader
  2. 64个字节为分区表
  3. 2个字节为标记位 即 (55 aa)
实验一:我们模拟对/boot/grub/*进行转移

把/boot/grub/移动到/app下
mv /boot/grub/
/app
把/app/grub.conf文件移动回/boot/grub/下
mv /app/grub.conf /boot/grub/
重启centos 6,我们发现系统可以正常启动。

由此证明:系统启动二阶段只有一个grub.conf文件是可以启动的

实验二:对系统启动第一阶段/dev/sda的前446(即boot loader)个字节进行破坏

破坏一阶段/dev/sda的前446个字节
dd if=/dev/zero of=/dev/sda bs=1 count=446
查看被破坏的二进制的文件
hexdump -C -n 512 /dev/sda
可以看出前446个字节都为0

1.png

重新启动centos6就会发现系统无法启动,系统默认是进入光盘模式启动,这时我们需要进入救援模式

进入救援模式后,我们使用df命令发现显示的根(/)不是我们系统原来的根(/),而系统原来的根(/)在/mnt/sysimage/下,需要切根操作,
chroot /mnt/sysimage
而被我们破坏的/dev/sda的前446个字节只需要一个命令就可以修复,那就是重新安装grub
grub-install /dev/sda
查看/dev/sda的前512个字节
hexdump -C -n 512 /dev/sda
发现前446个字节已经有内容了,即修复成功。

2.png

重启centos6发现可以启动成功。

实验三:破坏1.5阶段(即跳过/dev/sda的前512个字节之后破坏512个字节)

破坏前/dev/sda的前512个字节
dd if=/dev/zero of=/dev/sda bs=1 count=10240 skip=512 seek=512
查看破坏后的二进制文件
hexdump -C -n 1024 /dev/sda
发现从标记位(55 aa)之后为0

3.png

重启centos6,无法启动,使用光盘引导,进入救援模式
chroot /mnt/sysimage/ (切根)
grub (使用grub手工引导)
root (hd0,0)(hd0:代表第一个磁盘,后面的0代表第一个分区)
setup (hd0)
quit (退出)
检查修复后的二进制文件
hexdump -C -n 14000 /dev/sda
修复成功,重启

4.png
实验四:把/boot/grub/grub.conf文件移除并恢复

把/boot/grub/grub.conf文件移到/app下
mv /boot/grub/grub.conf /app/
重启centos6会发现1阶段和1.5阶段都可以启动,到2阶段是就会卡在grub界面无法启动

5.png

这里我们需要手工输入来引导系统启动
grub>root (hd0,0)
grub>kernel /vmlinuz-2.6.32-696.e16.x86_64 root=/dev/sda2
grub>initrd /initramfs-2.6.32-696.e16.x86_64.img
grub>boor(启动)

6.png

启动成功即修复完成

实验五:对/boot/grub/文件夹进行删除并修复

删除/boot/grub/文件夹
rm -rf /boot/grub
启用光盘救援模式,进入光盘救援模式后,切根(/)
chroot /mnt/sysimage
重新安装grub
grub-install /dev/sda
安装完成以后,需要我们在/boot/grub/下手工编写一个grub.conf文件
vim /boot/grub/grub.conf
格式如下:

default=0
timeout=3
root (hd0,0)
title wanglinux
kernel /vmlinuz-2.6.32-696.e16.x86_64 root=/dev/sda2
initrd /initramfs-2.6.32-696.e16.x86_64.img
保存退出

7.png

编辑使用vi,而不是vim,编写格式如下

8.png

为了确保文件已写入,我们使用命令sync同步一下
在使用exit退出两次进行重启,重启成功即修复完成。

相关文章

  • 启动流程和故障恢复

    centos6启动大体分为四部 一、POST加电自检二、MBR引导三、GRUB四、加载内核其中,MBR引导有三部分...

  • 多系统开机启动项

    多系统开机启动项 1.运行 msconfig 2.我的电脑-属性-高级系统设置-启动和故障恢复-设置 3.软媒魔方...

  • flink 重启策略

    当任务失败时,Flink需要重新启动失败的任务和其他受影响的任务,以将作业恢复到正常状态。 重新启动策略和故障转移...

  • Kyverno故障排查

    Kyverno 的故障排查和恢复流程。 虽然 Kyverno 的目标是让策略变得简单,但有时麻烦还是会来袭。以下部...

  • 故障处理流程总结

    一、总体流程1、故障突然发生2、评估影响范围并进行通报3、处理故障(1) 启动应急方案处理(2) 问题彻底处理4、...

  • windows设置系统启动顺序及备选时间

    打开控制面板,选择大图标,选择系统。 选择高级系统设置 选择启动和故障恢复中的设置 根据需要进行设置即可

  • 故障恢复

    Rabbit的负载均衡 使用HAProxy负载均衡 image.png1.server:后台服务器定义...

  • day23-系统管理

    1.开机启动流程 (1)Centos6启动流程 (2)centos7启动流程 (3)centos6 和centos...

  • etcd学习笔记(四):恢复

    运维一个etcd集群的一个基本要求是能够故障恢复。etcd有哪些机制支持故障恢复?如何进行故障恢复? 持久化 ex...

  • 16-系统启动和内核管理

    本章内容 Linux组成 CentOS6 启动流程 CentOS6启动流程 启动流程 启动流程 内核 启动流程 ​...

网友评论

      本文标题:启动流程和故障恢复

      本文链接:https://www.haomeiwen.com/subject/drmrjxtx.html