破坏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)
sixijiesixijie
上一篇 2016-09-19 17:25
下一篇 2016-09-19 20:35

相关推荐

  • shell脚本编程之数组

       数组就是相同数据类型的元素按一定顺序排列的集合,就是把有限个类型相同的变量用一个名字命名,然后用编号区分他们的变量的集合,这个名字称为数组名,编号称为下标。组成数组的各个变量称为数组的元素。数组是在程序设计中,为了处理方便, 把具有相同类型的若干变量按有序的形式组织起来的一种形式。 一、数组的表示方式   1、下标数组 &…

    Linux干货 2016-01-05
  • sed

    sed Stream EDitor, 行编辑器 sed是一种流编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有改变,除非使用重定向存储输出。 Sed主要用来自动…

    Linux干货 2017-04-26
  • MySQL管理应用入门(一)

    什么是数据库? 数据库(Database)是按照数据结构来组织、存储和管理数据的建立在计算机存储设备上的仓库。 简单来说是本身可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据进行新增、截取、更新、删除等操作。 在经济管理的日常工作中,常常需要把某些相关的数据放进这样的“仓库”,并根据管理的需要进行相应的处理。 例如, 企业或事业单位的人事部…

    Linux干货 2017-07-08
  • 学习宣言

    我是喻成,我参加了马帮第22期的linux运维网络班,于2016年8月开始跟随马哥学习linux, 我的学习宣言是:要享受学习的每一刻,我思故我在。

    Linux干货 2016-08-15
  • 逻辑卷管理—LVM

    逻辑卷管理—LVM   LVM:Logical  Volume  Manager        使用软件方式来组织一个或多个底层硬件设备为一个抽象的逻辑设备。 1、查看分区情况: 2、创建分区:(更改分区类型为8e:Linux LVM) 3、创建分区成功: 5、创建物理…

    Linux干货 2016-09-01
  • Mysql备份II

    Mysql备份II V.II.I单台或共用机器,数据量和访问量小50G< 1 Mysqldump(全导出,导库,导表) 锁表 如果这时有些入会锁住或者超时 2 至少停止写入 防止innodb配置还没刷到磁盘里 先flash tables /usr/local/mysql/bin/mysqladmin -S /tmp/mysql.so…

    Linux干货 2016-06-09

评论列表(1条)

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

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