破坏grub实验之一

1、删除grub stage1阶段

[root@centos6 ~]# dd if=/dev/zero of=/dev/sda bs=446 count=1
1+0 records in
1+0 records out
446 bytes (446 B) copied, 0.000518378 s, 860 kB/s
[root@centos6 ~]# hexdump -C -n 446  /dev/sda
00000000  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
000001b0  00 00 00 00 00 00 00 00  00 00 00 00 00 00        |..............|
000001be
[root@centos6 ~]# hexdump -C -n 446 -v /dev/sda

破坏grub实验之一 blob.png

 

重启机器

此时可以看到系统会直接进入到光盘启动界面

这里我们选择修复系统

破坏grub实验之一

blob.png

 

然后进入到shell提示符

执行如下命令

sh-4.1# chroot /mnt/sysimage
sh-4.1# grub-install /dev/sda
sh-4.1# exit
sh-4.1# exit

重启系统,至此已经修复完成

注意:会在如下界面停留很长时间,属于正常情况

破坏grub实验之一

blob.png

 

2、删除grub start1.5阶段

[root@centos6 ~]# dd if=/dev/zero of=/dev/sda bs=512 count=2 seek=1 //破坏1.5阶段
[root@centos6 ~]# hexdump -C -n 1024 -v /dev/sda

破坏grub实验之一blob.png

 

重启修复:

此时开机界面会一直黑屏,我们需要选择光盘启动,进入紧急救援模式

破坏grub实验之一

blob.png

 

进入救援模式后,修复方式和破坏grub stage1阶段一样

3、直接删除grub目录

[root@centos6 ~]# rm -rf /boot/grub/

重启;修复

出现如下错误提示

破坏grub实验之一

blob.png

 

重新启动,选择光盘引导,进入紧急救援模式

前几个步骤和前面一样

sh-4.1# chroot /mnt/sysimage
sh-4.1# grub-install /dev/sda
sh-4.1# ls /boot/grub 
... ....

此时grub目录已经出现

为grub提供配置文件

sh-4.1# vim /boot/grub/grub.conf

破坏grub实验之一blob.png

 

sh-4.1# exit
sh-4.1# exit

此时系统便能正常启动

一个简单说明:

[root@centos6 ~]# cd /boot/grub/
[root@centos6 grub]# mv *1_5 /root //将1_5的备份文件剪切到其他路径下
[root@centos6 grub]# grub
grub> root (hd0,0)
grub> setup (hd0)
grub> quit
[root@centos6 grub]# ls
device.map  grub.conf  stage1  stage2  //此时grub路径下仍没有1_5阶段的文件,说明grub命令的修复要依靠state1_5的备份文件
而grub-install则不是
[root@centos6 grub]# grub-install /dev/sda
[root@centos6 grub]# ls
//此时会出现stage1_5的备份文件
说明grub命令的恢复要依靠grub的备份文件,备份文件没有则会恢复失败

原创文章,作者:sixijie,如若转载,请注明出处:http://www.178linux.com/47848

(0)
上一篇 2016-09-19 17:25
下一篇 2016-09-19 20:35

相关推荐

  • 常用文本处理命令练习

    1、列出当前系统上所有已经登录的的用户的用户名,注意同一用户登录多次,则只显示一次 [root@keyou ~]#  w -hs | cut -d' ' -f 1 | sort -u  gentoo …

    系统运维 2016-11-13
  • 马哥教育网络班19期+第九周课程练习

    1、写一个脚本,判断当前系统上所有用户的shell是否为可登录shell(即用户的shell不是/sbin/nologin),分别这两类用户的个数,通过字符串比较来实现。 #!/bin/bash for user_shell in `awk -F: '{print $7}'&nbsp…

    Linux干货 2016-07-01
  • 如何加密/混乱C源代码

    之前发表了《6个变态的C语言Hello World程序》[酷壳链接] [CSDN链接],主要是是像大家展示了一些C语言的变态玩法。也向大家展示了一下程序是可以写得让人看不懂的,在那篇文章中,可以看到很多人的留言,很多人都觉得很好玩,是的,那本来是用来供朋友们“消遣作乐”,供娱乐娱东而已,不必太过认真。 不过,通过这种极端的写法,大家可以看到源代码都可以写得那…

    Linux干货 2016-05-08
  • LAMP的分布式实现——安装wordpress、phpMyAdmin

    题目:分别用三台centos 7主机分别部署 httpd, php-fpm, mariadb 第一台 10.1.43.101 –>httpd 第二台 10.1.43.102 –>php-fpm    分别在2台虚拟主机上部署wordpress和phpmyadmin 第三台 10.1.43.103 &#8…

    Linux干货 2016-10-12
  • lvs–各类型的原理及实现—(原理篇)

    前言:    LVS即是linux虚拟服务器,是一个虚拟的服务器集群系统,目的是使用集群技术和linux操作系统实现一个高性能、高可用的服务器。采用IP负载均衡技术和基于内容请求分发技术,将请求负载均衡地转移到不同的服务器上执行,从而将一组服务器构成一个高性能、高可用的虚拟服务器。此篇的内容只包含两种较为常用的LVS技术,分别是LVS-N…

    Linux干货 2016-10-27
  • 内核编译实际效果演示

    内核编译实际操作效果演示     环境:CentOS7.2,自带内核版本为3.10.0-327.el7.x86_64,下载3.18.41版本进行编译     步骤1:确保开发工具包组已安装     [root@localhost …

    Linux干货 2016-09-13

评论列表(1条)

  • 马哥教育
    马哥教育 2016-09-23 11:32

    文章操作新强,有时候,我们就需要自己模拟破坏实验环境来形成自己的工作经验哦。建议多做一些实验。