Este tópico descreve por que uma instância ECS Linux falha ao iniciar com o erro "UEFI Interactive Shell" e como resolver o problema.
Sintomas
Ao iniciar uma instância ECS Linux, o sistema operacional não é carregado. Ao conectar-se à instância pelo console VNC, a tela "UEFI Interactive Shell" é exibida.
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> _
Causas
Esse erro ocorre pelos seguintes motivos:
A imagem não oferece suporte a UEFI, mas o modo de inicialização da instância está definido como UEFI. Isso geralmente acontece com imagens personalizadas. Para corrigir, altere o modo de inicialização da imagem para BIOS. Para mais informações, consulte Alterar o modo de inicialização da imagem para BIOS.
A imagem oferece suporte a UEFI, mas o firmware está corrompido. Nesse caso, repare o firmware UEFI. Para mais informações, consulte Reparar o firmware UEFI.
Resolução
Para solucionar esse problema, altere o modo de inicialização da imagem ou repare o firmware UEFI conforme descrito nas seções a seguir.
Alterar o modo de inicialização da imagem para BIOS
Se você não precisar de UEFI ou se a imagem não oferecer suporte a essa tecnologia, altere o modo de inicialização da imagem personalizada para BIOS e use-a para criar uma nova instância.
-
Libere a instância ECS com problema.
Para mais informações, consulte Liberar uma instância.
-
Altere o modo de inicialização da imagem para BIOS.
Para mais informações, consulte Modificar o modo de inicialização de uma imagem.
-
Crie uma instância a partir da imagem.
Para mais informações, consulte Criar uma instância usando uma imagem personalizada.
-
Conecte-se à instância. Se a conexão for bem-sucedida e o erro "UEFI Interactive Shell" não aparecer mais, o problema estará resolvido.
Para mais informações, consulte Visão geral dos métodos de conexão.
Reparar o firmware UEFI
Se o tipo de instância e a imagem oferecerem suporte a UEFI e você desejar usar esse modo de inicialização, siga estas etapas para reparar o firmware.
Desanexe o disco do sistema da instância ECS com problema e anexe-o como disco de dados em uma instância ECS funcional.
-
Verifique se os pacotes EFI necessários estão instalados e se os arquivos de firmware EFI no diretório
/boot/efi/EFI/centosestão completos.-
Execute o comando a seguir para verificar os pacotes EFI instalados:
rpm -qa |grep -i efiO comando retorna uma saída semelhante à seguinte:
[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 essa saída com os pacotes de uma instância íntegra que execute a mesma distribuição Linux:
Se os pacotes EFI instalados corresponderem, prossiga para a etapa 2.b.
-
Se algum pacote EFI estiver ausente, execute o comando
sudo yum installpara instalar o pacote correspondente.Por exemplo, o comando a seguir instala o pacote grub2-efi-x64:
sudo yum install grub2-efi-x64-2.02-0.87.el7.centos.6.x86_64
-
Execute os comandos a seguir para verificar os arquivos de firmware EFI no diretório
/boot/efi/EFI/centos:cd /boot/efi/EFI/centos && llO comando retorna uma saída semelhante à seguinte:
[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 essa saída com os arquivos de firmware EFI de uma instância íntegra que execute a mesma distribuição Linux:
Se os arquivos de firmware EFI corresponderem, prossiga para a etapa 3.
-
Se algum arquivo de firmware EFI estiver ausente, execute o comando
sudo yum installpara instalar o pacote correspondente.Reinstale o pacote grub2-efi-x64 executando o seguinte comando:
sudo yum install grub2-efi-x64-2.02-0.87.el7.centos.6.x86_64
-
Anexe novamente o disco do sistema à instância ECS original.
-
Conecte-se à instância. Se a conexão for bem-sucedida e o erro "UEFI Interactive Shell" não aparecer mais, o problema estará resolvido.
Para mais informações, consulte Visão geral dos métodos de conexão.