因为物理机意外断电导致云主机grub.cfg文件损坏导致云主机无法启动,需要如何修复?

( 图1 .进入云主机时出现报错 )
云平台环境:ZStack企业版3.10
网络环境:扁平网络
主存储环境:本地存储
镜像服务器环境:镜像仓库
物理机操作系统:ZStack定制版Centos7.6
云主机操作系统:Centos 7.6
从系统引导的现象看是意外断电造成系统/boot/grub文件丢失,会导致云主机无法执行系统命令,无法进入系统,可以通过挂载ISO光驱进入救援模式修复。
给云主机挂载CentOS 7.6的ISO系统镜像,云主机启动后按上下健,选择救援模式启动。
进入救援模式后,执行chroot命令切换到根目录环境下。具体步骤如下:
(1) 关闭云主机电源,给云主机光驱加载CentOS7.6的ISO,如果光驱已经加载ISO需要创建一个新的光驱并且加载Centos7.6的ISO。

( 图2. 云主机虚拟光驱挂载iso )
(2) 修改云主机启动项,选择光盘启动,然后重启虚拟机

( 图3. 设置启动顺序为光盘启动 )
(3) 选择Trubleshooting

( 图4. 选择Trubleshooting )
(4) 选择救援CentOS系统

( 图5.选择救援模式 )
(5) 输入1继续

( 图6. 选择进入的模式 )
(6) 切换根目录

( 图7. 切换根目录 )
(7) 检查/boot/grub文件,发现丢失grub目录

( 图8. 检查grub )
(8) 查看磁盘信息

( 图9. 查看磁盘 )
(9) 重新安装grub2

( 图10.安装grub )
(10) 重新生成grub.cfg

( 图11. 生成grub.cfg文件)
(11) 重启,此时就可以正常进入系统

( 图12. 修复系统成功)
备注:每个人遇到的情况都不相同,可以根据出现的报错进行对应的修复