如何处理主机启动后进入grub rescue界面,无法正常启动的问题现象描述在安装服务器系统时,先使用/dev/sda和/dev/sdb组软RAID1进行安装,安装成功后,服务器正常启动。如果后续需要重新安装系统,选择了其他盘进行安装,例如选择/dev/sdb和/dev/sdc组软RAID1,或者是只安装单盘/dev/sda时,出现了操作系统安装成功,但是服务器启动失败,进入grub rescue修复模式的问题,如下图所示:可能原因RAID1的特点是使用磁盘镜像(disk mirroring)的技术,在一个磁盘上存放数据的同时也在另一个磁盘上写一样的数据。因此,在组RAID1后的两块盘上都会存在grub引导信息,在选择其他盘进行重新安装后,以前安装过的且未被此次安装选中的盘会被认为是数据盘,不会对该盘上的信息进行删除或者是格式化。因此,在重新安装后启动服务器时,BIOS依然会检测到安装信息,从而会选择错误的默认启动盘启动。处理方案方案一:如果进入grub rescue修复模式,可强制重启,按F11,进入Boot Manager界面,调整Hard Disk Drive的盘顺序(选中后,按+),选择从本次安装的启动盘启动。如图1和图2所示。图1 调整前图2 调整后然后可以重启服务器,或可以选择从正确启动的盘直接启动。最后手动删除被误识别为启动盘的残留安装信息,如第一次安装/dev/sda和/dev/sdb盘,第二次安装/dev/sda盘,则需要删除/dev/sdb盘的残留安装信息。执行命令如下:dd if=/dev/zero of=/dev/sdb bs=512K count=1方案二:在修复模式下只有很少的命令可以用,例如:set,ls,insmod,root,prefix。set 查看环境变量,这里可以查看启动路径和分区。ls 查看设备。insmod 加载模块。root 指定用于启动系统的分区,在修复模式下设置grub启动分区。prefix 设定grub启动路径。可通过上述命令进行系统修复,进入系统。具体步骤如下:查看分区:grub rescue > ls ,按回车键,会出现如下分区字样:遍历分区,寻找系统安装分区:grub rescue > ls (hd0,gpt3) 回车,直到出现的字样不是Filesystem is unknown。如下图所示:修改启动分区:可以set命令查看现有启动分区设置,然后将其修改为正确的启动分区,然后激活normal启动,如下图所示:然后可正常进入系统,但是重启后依然会进入grub rescue修复模式,故需要手动删除被误识别盘的残留安装信息,命令如下:dd if=/dev/zero of=/dev/sdb bs=512K count=1