CentOS 6 各种启动文件损坏及修复

参考资料:https://www.cnblogs.com/Q--T/p/8167876.html

一、stage1 mbr的破坏和恢复

清空mbr 前446字节

dd if=/dev/zero of=/dev/sda bs=1 count=446;reboot

如果没有挂载启动光盘,会显示这样

如果启动前挂载了光盘,则重启之后自动从光驱启动了

 此时选择救援模式,Rescue installed system

按照提示操作最后进入到shell

修复mbr需要用到grub去修复磁盘,所以要先把根切到硬盘上

1)chroot /mnt/sysimage

2)运行grub-install进行修复

grub-install /dev/sda

3)查看一下

hexdump -C -n 512 /dev/sda

4)exit

5)reboot

 

 

 6)可以进入操作系统。

 二、

stage1.5 数据破坏与修复

1.5阶段的数据存放在mbr之后的27个扇区内,也就是13824个字节

破坏掉1.5阶段的数据,无需全部破坏,我们用5120个字节试试.

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

修复方法同样可以用grub-install

 出现界面如下,光标闪,长时间无法进入操作系统。

 

重启进入救援模式

chroot /mnt/sysimage

grub-install /dev/sda

exit

reboot

三、

stage2  grub目录的破坏与修复

删除文件但保留grub.conf

cd /boot/grub

rm -rf  *

重启,提示error 15 ,

因为之前用grub-install修复过.所以之后启动系统都需要读取这些文件.

除了grub.conf文件,其他文件依然使用grub-install来修复.

 

进入救援模式

chroot /mnt/sysimage/

grub-install /dev/sda

sync

恢复grub.conf文件

cd /boot/grub

vim  grub.conf  (我编辑这个没有成功,后来进入了救援系统的网络模式,远程从其他服务器拷贝了grub.conf)

 

 保存退出

:wq

exit 

reboot

可以进入操作系统

四、

五、误删/sbin/下的init

rm  -f  /sbin/init,reboot

重启后一直停在这个画面。

1、进入 救援模式

2、chroot   /mnt/sysimage

3、从别的主机拷贝init到/sbin下(或者,mount  /dev/cdrom /mnt ;rpm ivh /mnt/Packages/upstart.xxxxxxxx.rpm --force)

4、exit

5、reboot

原文地址:https://www.cnblogs.com/zhangzeyuan/p/14087248.html