CentOs7如何修复MBR和GRUB?

时间:2022-01-17 04:48:08

一、修复MBR:

MBR

(Master Boot Record主引导记录):

硬盘的0柱面、0磁头、1扇区称为主引导扇区。其中446Byte是bootloader,64Byte为Partition table,剩下的2Byte为magic number。

备份MBR:

#dd if=/dev/sda of=/root/mbr.bak count=1 bs=512

破坏bootloader:

#dd if=/dev/zero of=/dev/sda count=1 bs=200

这里边block size只要小于等于446即可。

修复方式:

1、借助其他系统挂载磁盘修复。

修复方式同光盘修复类似,也是使用grub2-install命令。

2、借助安装光盘修复。

1).装入光盘,在光盘引导界面选择troubleshooting:

CentOs7如何修复MBR和GRUB?

2).选择进入救援模式:

CentOs7如何修复MBR和GRUB?

3).按回车键继续:

CentOs7如何修复MBR和GRUB?

4).进入磁盘挂载选择模式:

磁盘将会被挂载至/mnt/sysimage/下

continue 以rw方式挂载分区。

read only 以ro方式挂载分区。

skip 跳过,将来自己手工挂载磁盘。

CentOs7如何修复MBR和GRUB?

5.选择continue,稍等片刻,提示已经挂载完成。

CentOs7如何修复MBR和GRUB?

CentOs7如何修复MBR和GRUB?

6.此时进入救援模式的命令行:

CentOs7如何修复MBR和GRUB?

7.使用grub2-install命令重建bootloader:

#grub2-install root-directory=/mnt/sysimage /dev/sda

CentOs7如何修复MBR和GRUB?

显示无错误,使用sync写入硬盘,reboot重启系统。

8.重启后无错误,grub正常运行:

CentOs7如何修复MBR和GRUB?

至此,MBR修复完成。

二、修复grub

grub配置文件丢失:

开机后会直接进入grub界面,显示为grub>:

CentOs7如何修复MBR和GRUB?

修复步骤如下:

grub>insmod xfs

grub>set root=(hd0,1)

grub>linux16 /vmlinuz-xxxxx root=/dev/mapper/centos-root

grub>initrd16 /initramfs-.xxxxx.img

CentOs7如何修复MBR和GRUB?

修复完成后即可进入系统,重建配置文件。

注意:CentOS7因为使用的是grub2,配置文件同grub有不少变化,一定要切记备份grub.cfg以便恢复。