1、备份MBR
# dd if=/dev/sda of=/tmp/mbr512.mbr bs=512 count=1
16进制查看
# hexdump -C /tmp/mbr512.mbr
2、破坏boot loader(446字节)
# dd if=/dev/zero of=/dev/sda bs=446 count=1
3、重启计算机(将光盘卸掉)
# reboot
遇到报错:Operating System not found
可能原因:boot loader被损坏
4、如何修复boot loader?
第一种情况:
进入救援模式
修复的前提:需要/boot/grub中的文件没有损坏或丢失
进入到shell环境
# grub
grub> root (hd0,0) //指定根文件系统
grub> setup (hd0) //重新安装boot loader
grub> quit
# reboot
如果修复成功,就应该能够启动操作系统
第二种情况:/boot/grub中的文件有丢失或损坏
所需文件来源:/usr/share/grub/x86_64-redhat/
假设/boot/grub/grub.conf丢了
1、破坏grub
# mv grub.conf grub.conf.bak
2、重启
# reboot
3、当你看到grub>这样的提示符,那么说明你的grub配置文件丢失或损坏
grub> root (hd0,0)
grub> kernel /vmlinuz...【Tab】 ro root=/dev/sda2
grub> initrd /initramfs...【Tab】
grub> boot
手写grub是临时的,不写grub配置文件,那么重启之后还得手写上述步骤。
系统启动后排查grub.conf是丢失还是坏了
1)有备份的情况下,可以将备份还原
2)没有备份,可以远程拷贝
# scp 172.16.254.250:/boot/grub/grub.conf /boot/grub/
接下来修改grub.conf文件的root=UUID那部分,将UUID改为自己设备的UUID,就ok了。
# dd if=/dev/sda of=/tmp/mbr512.mbr bs=512 count=1
16进制查看
# hexdump -C /tmp/mbr512.mbr
2、破坏boot loader(446字节)
# dd if=/dev/zero of=/dev/sda bs=446 count=1
3、重启计算机(将光盘卸掉)
# reboot
遇到报错:Operating System not found
可能原因:boot loader被损坏
4、如何修复boot loader?
第一种情况:
进入救援模式
修复的前提:需要/boot/grub中的文件没有损坏或丢失
进入到shell环境
# grub
grub> root (hd0,0) //指定根文件系统
grub> setup (hd0) //重新安装boot loader
grub> quit
# reboot
如果修复成功,就应该能够启动操作系统
第二种情况:/boot/grub中的文件有丢失或损坏
所需文件来源:/usr/share/grub/x86_64-redhat/
假设/boot/grub/grub.conf丢了
1、破坏grub
# mv grub.conf grub.conf.bak
2、重启
# reboot
3、当你看到grub>这样的提示符,那么说明你的grub配置文件丢失或损坏
grub> root (hd0,0)
grub> kernel /vmlinuz...【Tab】 ro root=/dev/sda2
grub> initrd /initramfs...【Tab】
grub> boot
手写grub是临时的,不写grub配置文件,那么重启之后还得手写上述步骤。
系统启动后排查grub.conf是丢失还是坏了
1)有备份的情况下,可以将备份还原
2)没有备份,可以远程拷贝
# scp 172.16.254.250:/boot/grub/grub.conf /boot/grub/
接下来修改grub.conf文件的root=UUID那部分,将UUID改为自己设备的UUID,就ok了。