本文介绍Linux系统的ECS实例内部操作系统启动失败,提示“UEFI Interactive Shell”错误的问题原因和解决方案。
问题现象
启动Linux系统的ECS实例时,实例内部操作系统启动失败,通过VNC远程连接实例时提示“UEFI Interactive Shell”错误。
问题原因
出现UEFI Interactive Shell表示通过UEFI模式启动ECS实例失败,可能有以下原因:
实例的镜像不支持UEFI,但是镜像的启动模式被修改为UEFI。该错误通常出现在启动自定义镜像创建的ECS实例时,您可以通过修改镜像的启动方式来解决该问题,具体操作,请参见修改镜像的启动方式为BIOS。
实例的镜像支持UEFI,但是镜像内部UEFI固件损坏。您可以通过修复UEFI固件来解决该问题。具体操作,请参见修复UEFI固件。
解决方案
您可以参考以下步骤,修改镜像的启动模式或修复UEFI固件来解决该问题。
修改镜像的启动模式为BIOS
如果不需要使用UEFI启动模式或镜像本身不支持UEFI,您可以将自定义镜像启动模式修改为BIOS,并重新使用该镜像创建实例以解决该问题。
释放该异常ECS实例。
具体操作,请参见释放实例。
修改镜像的启动方式为BIOS。
具体操作,请参见修改镜像的启动模式。
使用该镜像创建实例。
具体操作,请参见使用自定义镜像创建实例。
远程连接实例,若可以正常连接,并且不再出现“UEFI Interactive Shell”错误,说明该问题已解决。
具体操作,请参见连接方式概述。
修复UEFI固件
如果该实例规格和镜像支持UEFI,并且您需要使用UEFI模式启动,请参考以下步骤修复UEFI固件。
卸载异常ECS实例的系统盘,并将该磁盘作为数据盘挂载到正常ECS实例中。
具体操作,请参见如何恢复系统盘数据?的步骤一~步骤三。
查看异常ECS实例已安装的efi安装包和
/boot/efi/EFI/centos
目录下的efi固件是否完整。执行如下命令,查看已安装的efi安装包是否完整。
rpm -qa |grep -i efi
返回结果类似如下所示。
您可以将返回结果与相同Linux发行版的ECS实例中efi安装包进行对比:
若已安装的efi安装包相同,请继续执行步骤b。
若已安装的efi安装包有缺失,请执行
sudo yum install
命令安装对应的efi安装包。如安装grub2-efi-x64安装包命令如下。
sudo yum install grub2-efi-x64-2.02-0.87.el7.centos.6.x86_64
执行如下命令,查看
/boot/efi/EFI/centos
目录下的efi固件是否完整。cd /boot/efi/EFI/centos && ll
返回结果类似如下所示。
您可以将返回结果与相同Linux发行版的ECS实例中efi固件进行对比:
若已安装的efi固件相同,请继续执行步骤3。
若已安装的efi固件有缺失,请执行
sudo yum install
命令安装对应的efi固件安装包。建议您重新安装grub2-efi-x64安装包,命令如下。
sudo yum install grub2-efi-x64-2.02-0.87.el7.centos.6.x86_64
在异常ECS实例中恢复挂载系统盘。
具体操作,请参见如何恢复系统盘数据?的步骤五。
远程连接实例,若可以正常连接,并且不再出现“UEFI Interactive Shell”错误,说明该问题已解决。
具体操作,请参见连接方式概述。