centos6

启动引导第一阶段破坏

破坏mbr前446字节

先备份

[root@centos6 ~]# dd if=/dev/sda of=/root/mbr bs=1 count=446

破坏

[root@centos6 ~]# dd if=/dev/zero of=/dev/sda bs=1 count=446

有备份未关机情况下可使用备份恢复

[root@centos6 ~]# dd if=/root/mbr of=/dev/sda bs=1 count=446

无备份未关机,可直接使用命令grub-install恢复

[root@centos6 ~]# grub-install /dev/sda

关机后,没有挂载启动光盘会显示

centos 开机后只有一个光标闪烁 centos启动黑屏只有光标_centos

挂载光盘选择第三项进入救援模式

centos 开机后只有一个光标闪烁 centos启动黑屏只有光标_centos 开机后只有一个光标闪烁_02

根据提示最后开启shell

centos 开机后只有一个光标闪烁 centos启动黑屏只有光标_centos_03

先切换根路径,然后使用grub-install命令

chroot /mnt/sysimage
grub-install /dev/sda

centos 开机后只有一个光标闪烁 centos启动黑屏只有光标_centos 开机后只有一个光标闪烁_04

如果不想切换根路径,进行如下操作

cp /mnt/sysimage/sbin/grub /sbin
grub-install --root-directory=/mnt/sysimage /dev/sda

centos 开机后只有一个光标闪烁 centos启动黑屏只有光标_centos 开机后只有一个光标闪烁_05

最后可查看一下前446字节内容

hexdump -C -n 446 -v /dev/sda

确认没问题退出重启即可

启动引导1.5阶段破坏

破坏

dd if=/dev/zero of=/dev/sda bs=1 count=10240 skip=512 seek=512

现象:只有光标闪烁

centos 开机后只有一个光标闪烁 centos启动黑屏只有光标_补全_06

修复:光盘引导进入救援模式

chroot /mnt/sysimage
grub-install /dev/sda
sync

退出重启即可

启动引导第二阶段破坏

保留/boot/grub/grub.conf,删除/boot/grub/下其它所有文件

现象:Error 15

centos 开机后只有一个光标闪烁 centos启动黑屏只有光标_centos_07

修复与1阶段1.5阶段方法相同

grub.conf文件丢失

现象:启动直接进入grub

centos 开机后只有一个光标闪烁 centos启动黑屏只有光标_重启_08

修复:

root (hd0 然后可以Tab键出来,

centos 开机后只有一个光标闪烁 centos启动黑屏只有光标_重启_09

/boot分区使用普通分区,即0x83的都有可能是/boot分区,我这里只有一个,8e为lvm,即选择hd0,0

centos 开机后只有一个光标闪烁 centos启动黑屏只有光标_centos_10

选择正确此时输入kernel /vm 之后内容Tab键是可以有提示或者补全的,如果有多个内核会都列出来,我这里只有一个内核,所以直接补全了

centos 开机后只有一个光标闪烁 centos启动黑屏只有光标_centos 开机后只有一个光标闪烁_11

选错/boot分区后面kernel再Tab会报错,有多个分区选择其它分区即可,直至选对分区

centos 开机后只有一个光标闪烁 centos启动黑屏只有光标_补全_12

补全kernel之后还需要手动指定根分区位置,我这里是系统安装时自动分区设置的为lvm逻辑卷,如果事先不知道很难试出来具体正确路径,可参考同样安装方式的其它机器。

输入kernel /vmlinuz-2.6.32-754.el6.x86_64 root=/dev/mapper/vg_centos6-lv_root后回车,内核与root路径根据自己实际情况

centos 开机后只有一个光标闪烁 centos启动黑屏只有光标_centos_13

然后initrd /init Tab键补全后面内容后回车

centos 开机后只有一个光标闪烁 centos启动黑屏只有光标_centos_14

之后输入boot后回车就能进入系统

进入系统之后需要手动编写/boot/grub/grub.conf配置文件,内容参考如下

centos 开机后只有一个光标闪烁 centos启动黑屏只有光标_centos 开机后只有一个光标闪烁_15

由于kernel补全内核后还需要填写根分区,如果是普通分区可以穷举/dev/sda所有分区,使用lvm比较难,可以直接使用光盘启动进入救援模式,在救援模式下可以看到分区情况,在救援模式下直接编辑grub.conf文件

centos 开机后只有一个光标闪烁 centos启动黑屏只有光标_centos 开机后只有一个光标闪烁_16

编写如下几行就可正常启动

default=0
timeout=5
title CentOS 6
root (hd0,0)

kernel /vmlinuz-2.6.32-754.el6.x86_64 ro root=/dev/mapper/vg_centos6-lv_root 

initrd /initramfs-2.6.32-754.el6.x86_64.img

initrd-2.6.32-754.el6.x86_64.img文件丢失

现象,倒计时结束之后无反应,此现象应是只有唯一一个启动菜单才会出现

另一个现象是黑屏,只有光标闪烁

centos 开机后只有一个光标闪烁 centos启动黑屏只有光标_重启_17

centos 开机后只有一个光标闪烁 centos启动黑屏只有光标_重启_18

修复方法1

光盘启动,就如救援模式

先切换根路径

chroot /mnt/sysimage

然后重新生成initramfs文件

mkinitrd /boot/initramfs-$(uname -r).img $(uname -r)

运行之后等一会就重新生成文件

centos 开机后只有一个光标闪烁 centos启动黑屏只有光标_补全_19

退出重启即可

修复方法2

光盘启动,进入救援模式

挂载光盘到/tmp目录

然后重新安装kernel包

rpm -ivh /tmp/Packages/kernel-2.6.32-754.el6.x86_64.rpm --root=/mnt/sysimage --replacepkgs

等待安装完成退出重启即可

如果切换过根路径可以不用指定--root=/mnt/sysimage

/boot/vmlinuz文件丢失

现象:

centos 开机后只有一个光标闪烁 centos启动黑屏只有光标_centos 开机后只有一个光标闪烁_20

修复:

1.光盘启动,进入救援模式

切换根:chroot /mnt/sysimage

挂载光盘:mount /dev/sr0 /mnt

复制光盘中vmlinuz文件到/boot/目录:cp /mnt/isolinux/vmlinuz /boot/vmlinuz-$(uname -r)

退出重启

2.重新安装一下光盘内的内核

/etc/fstab和/boot/grub/中文件都丢失

现象:进入grub

centos 开机后只有一个光标闪烁 centos启动黑屏只有光标_centos_21

修复:光盘启动进入救援模式

此时提示已经找不到根了

centos 开机后只有一个光标闪烁 centos启动黑屏只有光标_centos 开机后只有一个光标闪烁_22

blkid命令可以看到没有发现根相关的,但是看到有类型为lvm2_member

centos 开机后只有一个光标闪烁 centos启动黑屏只有光标_补全_23

使用vgdisplay和lvdispaly能看到相关信息

先启用vg

vgchange -ay

现在blkid能看到其它几个分区信息

centos 开机后只有一个光标闪烁 centos启动黑屏只有光标_centos 开机后只有一个光标闪烁_24

新建一个目录/test,将原来的根分区挂载到/test上,然后根据分区信息手动编写/test/etc/fstab文件,只需要编写挂载根的哪一条就够了,其它挂载信息可以等系统修复完之后再编写

centos 开机后只有一个光标闪烁 centos启动黑屏只有光标_重启_25

编写完后重启系统重新进入救援模式,此时可以找到根文件系统,并且挂载到/mnt/sysimage

centos 开机后只有一个光标闪烁 centos启动黑屏只有光标_centos_26

切换根路径
chroot /mnt/sysinage
挂载/boot分区
grub-install /dev/sda 命令修复
手动创建/boot/grub/grub.conf文件

centos 开机后只有一个光标闪烁 centos启动黑屏只有光标_补全_27

之后退出重启