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


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

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

1.进入救援模式

wKiom1nA3SSSe7opAAboyahox1Y561.png

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

wKioL1nA4QLQ4X08AAAMKyu4umg627.png

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

wKiom1nA4aeBqVXaAABFdeRe7Us818.png

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

wKiom1nA4i-SSy-tAACRSmI6lkM417.png

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

wKiom1nA4rDjTcJHAAAJCEDadwA985.png

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


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

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

图1

wKioL1nA5bTgghazAABN1v_baaI234.png

图2

wKiom1nA5eeiZaC7AADVIAZNZIo778.png

图3

wKioL1nA5bSR_EMjAAA7vhpA8-0753.png

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

wKiom1nA6FWya7iTAAB2b-_Weg8455.png

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

wKiom1nA6Orhlh6YAAboyahox1Y524.png

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

wKioL1nA7HSCJZlaAABN56yrguM707.png

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

wKioL1nA7CyBLzuBAAA6Q34TxhA902.png

6.dd命令修复

wKiom1nA7OvxTTWRAACj0hx3U-I029.png

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