O VirtualBox é inicializado apenas no shell interativo do UEFI

45

Eu instalei o Ubuntu 14.10 no VirtualBox com o UEFI. Mas agora eu reiniciei este sistema operacional e agora ele inicializa em um UEFI Interactive Shell v2.0. Como posso inicializar normalmente no Grub de novo?

    
por Benjamin Stütz 28.12.2014 / 18:19

10 respostas

51

Encontrei o mesmo problema e descobri que, se eu emitir o seguinte comando no shell interativo, a máquina virtual inicializaria no Ubuntu:

fs0:\efi\ubuntu\grubx64.efi

(Use barra invertida, a barra não funciona. Os comandos no shell interativo UEFI não diferenciam maiúsculas de minúsculas.)

Minha versão do VirtualBox é 4.3.20 r96997, a versão do Ubuntu é 14.10 AMD64. Eu não sei porque isso acontece e como resolvê-lo. Apenas achei isso não é elegante e ainda uma solução pouco problemática.

Atualização 1:

Eu li este , rastreado até um relatório de bug e encontrado uma melhor solução .

Atualização 2:

A solução alternativa na atualização 1 falhou. Eu desliguei a máquina virtual, lancei-a. E ele inicializou no shell interativo da UEFI novamente. De acordo com este , o problema provavelmente foi causado por um bug do VirtualBox. Ainda estou procurando mais solução para isso.

Atualização 3:

Finalmente encontrei uma solução. De acordo com isso , você precisa criar um script startup.nsh manualmente. Exceto pelo método mencionado no post, você também pode fazer isso:

$ sudo mount /dev/sda1 /mnt
$ cd /mnt
$ sudo sh -c "echo '\EFI\ubuntu\grubx64.efi' > startup.nsh"
    
por Nairen Zheng 14.01.2015 / 12:43
30

Eu tive o mesmo problema (com o EFI ativado porque não consegui executá-lo de outra forma). Estranho; Apesar da instalação do Ubuntu 14.04.2 não ter nenhum erro, a instalação do Kubuntu 15.04 não foi finalizada. Ele congelou no final quando pediu para remover o DVD. Após a reinicialização, ele inicializou bem, mas após a queda de energia, ele ativou o shell.

Portanto, para evitar o tipo de shell:

% bl0ck_qu0te%

e na janela aberta, adicione estas duas linhas:

% bl0ck_qu0te%

pressione Ctrl + s e Digite para salvar e Ctrl + q para sair. Em seguida, reinicie a VM.

Como alternativa, você sempre pode usar essas duas linhas para sair do shell e do sistema operacional de inicialização. Mas da segunda vez que você reiniciar, você estará em um shell novamente e para evitar isso, edite startup.nsh .

    
por VRR 31.05.2015 / 16:58
11

Outra opção é desmarcar a opção Extended Features chamada 'Enable EFI' em 'Motherboard' para sua VM.

Este problema surgiu para a instalação do Gnome Ubuntu 12.04.2 amd64bit.

Descoberto isso depois de ter que alterar as configurações de aceleração de hardware. Fiquei com o VT-x / AMD-V, o Nested Paging ativado. Minha VM tem 2 CPUs, 8 GB de RAM para referência.

Depois de desmarcar o problema, o Gnome Ubuntu é ignorado. Executando o Virtual Box 4.3.18 r96516 no host do Windows 7 de 64 bits.

    
por robocop 05.03.2015 / 20:56
3

Copie grubx64.efi para /EFI/boot/bootx64.EFI
VirtualBox use bootx64.efi para inicializar.
Ref .: Wiki do VirtualBox do Archlinux

    
por cylgalad 06.12.2015 / 13:01
1

Usando o Ubuntu 16.04.4 com o EFI ativado e ao iniciar a máquina virtual, descobri que ele não inicializa e fica no shell interativo do EFI.

Foi assim que consertei a inicialização:

Primeiro, descobri que o grubx64.efi está localizado em BLK2, Então, para uma inicialização única, eu simplesmente digitei o seguinte no shell interativo:

BLK2:/EFI/ubuntu/grubx64.efi

E a viola, o Ubuntu está instalado e funcionando.

Eu peço para consertar permanentemente este problema, uma vez que o sistema estava ativo eu ecoei a seguinte linha em /boot/efi/startup.nsh.

sudo echo 'BLK2:/EFI/ubuntu/grubx64.efi' > /boot/efi/startup.nsh

É isso aí, o sistema inicializará corretamente.

    
por Yaron Morad 21.07.2018 / 13:31
1

Eu poderia resolver esse problema alterando o dispositivo de cdrom na caixa virtual do IDE para o SATA. Eu removi o mapeamento padrão da unidade de cdrom virtual dentro da configuração do dispositivo.

Basta adicionar um dispositivo de cdrom ao controlador SATA existente, que deve ser usado para sua mídia de instalação.

Et voila, sem mais problemas com o EFI.

    
por Laurent 11.04.2015 / 09:42
1

para isso, você precisa escrever da seguinte forma:

fs0:
cd EFI
cd ubuntu
grubx64

é assim que eu funciono se você escreve de outra maneira que não funciona.

    
por Dan Duncker 08.09.2016 / 04:38
1

Outro trabalho:

No shell do uefi, inicialize temporariamente no Ubuntu usando:

fs0:
cd EFI
cd ubuntu
grubx64

Então, dentro do Ubuntu, edite o arquivo startup.nsh como abaixo:

Abra o terminal Ctrl + Alt + T .

Tipo:

sudo nano /boot/efi/startup.nsh

Digite sua senha.

Agora, exclua tudo o que estiver lá usando a tecla del ou a tecla de retrocesso.

Em seguida, digite exatamente isso: ( FS0 - que é o número 0 , não o alfabeto O )

FS0:
\EFI\ubuntu\grubx64.efi

Agora pressione Ctrl + O (Isto é o alfabeto O ).

Então, Alt + D (Para mudar o texto para o formato msdos).

Em seguida, pressione Enter .

Então Ctrl + X .

Agora reinicie.

sudo reboot

Tudo deve estar bem agora.

    
por Ddm 08.03.2017 / 06:37
0

Recentemente encontrei esse problema. Por favor, verifique suas configurações do sistema operacional virtual. Clique com o botão direito no virtual os- > system- > Recursos estendidos- > Ativar EFI (desmarque isso).

    
por Sudip7 17.01.2016 / 13:31
0

Após instalar o Kubuntu15.10 no VirtualBox5 com UEFI, a reinicialização da VM falhará.

Adicionando a linha

FS0:\EFI\ubuntu\grubx64.efi
no UEFI-Shell não ajuda.

E a solução com a criação de um novo arquivo startup.nsh no Kubuntu15.10 no ambiente chroot com

sudo echo '\EFI\ubuntu\grubx64.efi' > startup.nsh 
também não melhora.

Eu encontrei a solução:

O problema era que o diretório / boot / efi / EFI / ubuntu com o arquivo grubx64.efi não existe.

Após inicializar um Live-CD e mudar para o ambiente chroot, instalei os pacotes ausentes e criei a entrada NVRAM necessária com:

sudo apt-get install grub-efi-amd64-signed shim-signed
sudo update-grub
    
por sun312 12.03.2016 / 01:44

Tags