浪潮服务器Windows Server系统异常断电导致系统中CentOS7虚拟机系统崩溃无法正常启动grub2故障修复error: relocation 0x48 is not implemented yet
场景描述:
在Windows Server服务器上基于VMware虚拟机运行的 CentOS7.3-x86_63 系统盘异常崩溃后虚拟机无法正常启动,需要提取被损毁系统中的重要数据。
环境说明:
宿主机:浪潮服务器
物理机操作系统:Windows Server 2012
WMware workstation版本:15.5.6 build-16341506
虚拟机操作系统版本:CentOs Linux release 7.3.1611 (Core)
故障显示:
打开虚拟机后无法进入 CentOs 操作系统,提示:error: relocation 0x48 is not implemented yet.
原因分析:
判断为 CentOS7.3 操作系统 Grub2 文件损坏,导致无法正常进入操作系统。
解决办法:
进入光盘救援模式进行系统恢复。
- 修改虚拟机 BIOS 启动顺序为 CD-ROM drive
关闭虚机机,编辑虚拟机设置,选择对应的操作系统镜像文件 CentOS-7.3-x86_64-DVD-1611.iso,点击"确定"
开启虚拟机电源,按 "F2" 键进入 BIOS
在 Boot 菜单中将 CD-ROM Drive 设置为默认启动项,按 "F10" 保存退出。
选择 "Yes"
- 开始修复
自动重启后进入系统,选择 Troubleshooting 菜单,按 "回车" 键进入
选择 Rescue a CentOS system ,按 "回车" 键进入引导
按 "1" 进入救援模式
按完"1" 后接着输入 return 进入终端
成功进入终端
修改 root 目录,在终端中输入 chroot /mnt/sysimage/
进入 grub 目录,在终端中执行cd /boot/grub2/
执行 grub2-install /dev/sda 命令进行修复
执行 grub2-mkconfig -o /boot/grub2/grub.cfg 命令修复grub2配置文件
执行 exit 退出,并执行 reboot 重启系统
重启后按 "F2" 再次进入 Bios,选择 Boot 菜单栏将启动首选项改为 Hard Drive 硬盘启动,按 "F10" 保存退出。
重启后看到可以正常进入 CentOs 系统并成功登录,到此修复完毕。
查看虚拟机中数据库及资源数据