This topic describes why a Linux ECS instance fails to start with a "UEFI Interactive Shell" error and how to resolve the issue.
Symptoms
When you start a Linux ECS instance, its operating system fails to start. When you connect to the instance by using the VNC console, the "UEFI Interactive Shell" screen is displayed.
UEFI Interactive Shell v2.2
EDK II
UEFI v2.70 (EDK II, 0x00010000)
Mapping table
BLK2: Alias(s):
PciRoot(0x0)/Pci(0x4,0x0)
BLK3: Alias(s):
PciRoot(0x0)/Pci(0x4,0x0)/HD(1,MBR,0x000B2D99,0x800,0x4FFCE25)
BLK0: Alias(s):
PciRoot(0x0)/Pci(0x1,0x0)/Floppy(0x0)
BLK1: Alias(s):
PciRoot(0x0)/Pci(0x1,0x0)/Floppy(0x1)
Press ESC in 1 seconds to skip startup.nsh or any other key to continue.
Shell> _
Causes
This error occurs for the following reasons:
-
The image does not support UEFI, but the instance's boot mode is set to UEFI. This typically happens with a custom image. To fix this, change the image's boot mode to BIOS. For more information, see Change the image's boot mode to BIOS.
-
The image supports UEFI, but its firmware is corrupted. To fix this, repair the UEFI firmware. For more information, see Repair the UEFI firmware.
Resolution
To resolve this issue, change the image's boot mode or repair the UEFI firmware as described in the following sections.
Change image boot mode to BIOS
If you do not require UEFI, or if the image does not support it, change the custom image's boot mode to BIOS and use the image to create a new instance.
-
Release the problematic ECS instance.
For more information, see Release an instance.
-
Change the boot mode of the image to BIOS.
For more information, see Modify the boot mode of an image.
-
Create an instance from the image.
For more information, see Create an instance by using a custom image.
-
Connect to the instance. If the connection is successful and the "UEFI Interactive Shell" error no longer appears, the issue is resolved.
For more information, see Connection methods overview.
Repair the UEFI firmware
If your instance type and image support UEFI and you want to use this boot mode, follow these steps to repair the firmware.
-
Detach the system disk from the problematic ECS instance and attach it as a data disk to a working ECS instance.
-
Check whether the required EFI packages are installed and the EFI firmware files in the
/boot/efi/EFI/centosdirectory are complete.-
Run the following command to check the installed EFI packages:
rpm -qa |grep -i efiThe command returns output similar to the following:
[root@hostname ~]# rpm -qa |grep -i efi grub2-efi-x64-2.02-0.87.el7.centos.6.x86_64 efibootmgr-17-2.el7.x86_64 efivar-libs-36-12.el7.x86_64Compare this output to the packages on a healthy instance running the same Linux distribution:
-
If the installed EFI packages match, proceed to step 2.b.
-
If any EFI packages are missing, run the
sudo yum installcommand to install the corresponding package.For example, the following command installs the grub2-efi-x64 package:
sudo yum install grub2-efi-x64-2.02-0.87.el7.centos.6.x86_64
-
-
Run the following commands to check the EFI firmware files in the
/boot/efi/EFI/centosdirectory:cd /boot/efi/EFI/centos && llThe command returns output similar to the following:
[root@hostname centos]# ll total 7020 -rwx------ 1 root root 134 Jul 31 2020 BOOT.CSV -rwx------ 1 root root 134 Jul 31 2020 BOOTX64.CSV drwx------ 2 root root 4096 Jun 16 2021 fonts -rwx------ 1 root root 5184 Jun 16 2021 grub.cfg -rwx------ 1 root root 1024 Jun 16 2021 grubenv -rwx------ 1 root root 1122120 Mar 17 2021 grubx64.efi -rwx------ 1 root root 1154640 Jul 31 2020 mmx64.efi -rwx------ 1 root root 1154640 Jul 31 2020 MokManager.efi -rwx------ 1 root root 1243864 Jul 31 2020 shim.efi -rwx------ 1 root root 1237824 Jul 31 2020 shimx64-centos.efi -rwx------ 1 root root 1243864 Jul 31 2020 shimx64.efiCompare this output to the EFI firmware files on a healthy instance running the same Linux distribution:
-
If the EFI firmware files match, proceed to step 3.
-
If any EFI firmware files are missing, run the
sudo yum installcommand to install the corresponding package.Reinstall the grub2-efi-x64 package by running the following command:
sudo yum install grub2-efi-x64-2.02-0.87.el7.centos.6.x86_64
-
-
-
Reattach the system disk to the original ECS instance.
-
Connect to the instance. If the connection is successful and the "UEFI Interactive Shell" error no longer appears, the issue is resolved.
For more information, see Connection methods overview.