GNU GRUB(GRand Unified Bootloader简称“GRUB”)是一个来自GNU项目的多操作系统启动程序。GRUB是多启动规范的实现,它允许用户可以在计算机内同时拥有多个操作系统,并在计算机启动时选择希望运行的操作系统。GRUB可用于选择操作系统分区上的不同内核,也可用于向这些内核传递启动参数。通俗的来讲就是是一个系统的选择菜单,如果没有这个菜单系统也就不能正常的启动登陆,当这个被遭到破坏的时候如何去修复它拯救系统.这篇博客就简单的来介绍一下修复过程.

        GRUB的配置文件是放在根目录下的boot目录下面,ls查看一下下面的grub 跟grub2目录是GRUB启动程序的配置文件

centos grub 进入命令行模式 centos启动grub_shell


查看一下grub目录里面放有一个压缩包这个压缩包主要是GRUB菜单的背景图片及样式

centos grub 进入命令行模式 centos启动grub_centos grub 进入命令行模式_02

        而grub2中的grub.cfg则是它的真正的配置文件

centos grub 进入命令行模式 centos启动grub_shell_03


        

        接下来模拟这个配置文件被损坏,这里索性直接把它删除,然后reboot直接重启系统看一看

 

centos grub 进入命令行模式 centos启动grub_操作系统_04


        重启之后系统就无法正常进入了,一直停留在这个界面,接下来我们要通过系统镜像文件去修复它

centos grub 进入命令行模式 centos启动grub_centos grub 进入命令行模式_05



        

        恢复第一步,首先在VMware上面要启用光盘镜像功能.如果在物理机上面请制作一个CentOS的光盘镜像或者U盘镜像,接下来重启系统

centos grub 进入命令行模式 centos启动grub_shell_06

               重启后迅速按ESC键,这边选择从CD-ROM启动

centos grub 进入命令行模式 centos启动grub_centos grub 进入命令行模式_07


           进入这个界面之后,选择第三个选项Troubleshooting(故障排除模式)

centos grub 进入命令行模式 centos启动grub_重启_08


         第一个选项是安装系统,第二个选项是拯救centos系统,第三个是运行内存检测,第四个是从本地磁盘启动,最后一个是回到选择菜单,这边选择第2个选项系统拯救模式

centos grub 进入命令行模式 centos启动grub_运维_09


        这边选择第一个继续continue选项输入1回车

centos grub 进入命令行模式 centos启动grub_shell_10


 使用chroot /mnt/sysimage命令,进入镜像的shell环境

centos grub 进入命令行模式 centos启动grub_centos grub 进入命令行模式_11


        接下来使用chroot /mnt/sysimage命令进入系统镜像的shell环境.然后使用grub2-mkconfig -o /boot/grub2/grub.cfg命令重新构建grub启动菜单.接下来使用grub2-mkconfig -o /boot/grub2/grub.cfg命令恢复GRUB配置文件

centos grub 进入命令行模式 centos启动grub_centos grub 进入命令行模式_12


        接下来退出镜像shell环境并重启

centos grub 进入命令行模式 centos启动grub_重启_13


            重启后系统就能够正常的登陆了

centos grub 进入命令行模式 centos启动grub_运维_14