centos7修复grub2

GRUB  :“the Grand Unified Bootloader ”引导加载程序

1、主要配置文件

#/boot/grub2/grub.cfg
#rm  -rf   /boot/grub2/grub.cfg 

 2、修复配置文件

#grub2-mkconfig  >  /boot/grub2/grub.cfg

 3、删除grub2下的所有文件及修复

#rm  -rf   /boot/grub2/*
grub-install   /dev/sda    BIOS环境(下面也会涉及到)
grub-install     UEFI环境(可扩展固件接口,BIOS继任者,一些超前的机子使用)

 4、调整默认启动内核

vim  /etc/default/grub(模板)
GRUB_DEFAULT=0(0表示第一个,)

[root@master2 default]# cd /etc/default/grub  (grub2-mkconfig 参照的模板)
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved(saved已保存,该处可以修改为0,1,2)
.........(修改的原因,当有多个内核时,默认启动项要符合我们希望启动的)
修改模板后在重新生成一下   grub2-mkconfig  -o  /boot/grub2/grub.cfg

5、删除boot下所有内容和恢复过程

#rm -rf  /boot/*
#reboot

由上面的救援模式进入到光盘引导模式:重新启动,在未进入grub resuce之前的几秒钟之内,

左手按Esc键,右手在界面按鼠标左键,只能按一次,考手速,多试几次会成功的。

 

进入Troubleshooting

 

进入Rescue a CentOS system

 

按1回车

sh-4.2#  chroot  /mnt/sysimage(切根)
bash-4.2#ls  /boot/

空空如也

#mount  /dev/sr0   /mnt

 bash-4.2# rpm  -ivh /mnt/Packages/kernel-3.10-693.el7.x86_64.rpm  --force

  bash-4.2# grub2-install   /dev/sda

 

 还缺grub2的主配置文件

bash-4.2#grub2-mkconfig    -o    grub.cfg(在当前文件下,所以没有打绝对路径)

#exit
#reboot

实验至此大功告成

原文地址:https://www.cnblogs.com/zjz20/p/11478514.html