> CentOS > CentOS故障 >

Centos 6中MBR救援模式下修复

MBR(Master Boot Record,主引导记录),它的前446字节存放Boot Loader启动管理程序,由Boot Loader去识别、加载操作系统中的核心文件,并向使用者提供不同的启动项目,来加载不同的操作系统。所以,若是我们破坏了MBR,也就意味着没有了引导去加载内核的工具,进而程序无法启动。

 

一:模拟破坏MBR:直接破坏

即当我们执行dd if=/dev/zero of=/dev/sda bs=1 count=446后,reboot重启虚拟机,会出现如下图所示界面----->我们刚装虚拟机时进入的面安装界,此时倒计时一分钟后会自动进入第一项安装界面,但我们只是去修复MBR,所以直接鼠标点进去,选择第三项救援模式(关于救援模式,我会有一个专门讲它的博客,可供不知道救援模式的童鞋参考)。

1.进入救援模式

2.进入救援模式后,可以先看一下前446字节信息,如下图所示前446字节全是0

3.切根:chroot /mnt/sysimage;因为在救援模式中就给我们说,此时的根不是真实的根,我们真实的根在/mnt/sysimage下,所以,切根后的操作方便一些马虎的童鞋(*_*),然后执行grub-install进行安装修复。

4.再用hexdump查看一下前446字节信息,验证一下grub-install操作

5.通常为了保险起见,我们可以多敲几下sync同步一下。

6.修复完成,重启虚拟机即可(退出救援模式在救援模式博客里有讲)。

 

二:模拟破坏MBR:破坏前拷贝到另一台虚拟机

  1. 如下图1所示,可以先看一下没有破坏前的MBR前512字节信息,图2所示在破坏前先拷贝一份,用dd if=/dev/sda of=mbr bs=1 count=446备份到mbr里,可以看到mbr里的内容。图3将备份下的mbr拷贝到另一台虚拟机上。

图1

图2

图3

2.接下来,dd if=/dev/zero of=/dev/sda bs=1 count=446破坏MBR;reboot重启虚拟机

3.看,熟悉的界面出现了,接下来就是进入救援模式了。

4.先查看一下此时/dev/sda的前446字节信息

5.将我们备份到另一台虚拟机上的mbr拷贝回来

6.dd命令修复

7.退出并重启虚拟机即可。



(责任编辑:IT)