Como sair do shell EFI na caixa virtual

13

Estou executando uma máquina virtual para Mac OSX e ela sempre é inicializada no shell EFI. Quero apenas uma explicação simples sobre o que é isso e como, se possível, sair dela.

Dan
fonte

Respostas:

15

O shell EFI é uma ferramenta de linha de comando com conceito semelhante ao bash no Linux / Unix / OS X ou em uma janela do Prompt de Comando no Windows. Ele permite exibir, excluir, editar e renomear arquivos, para atualizar as entradas do gerenciador de inicialização EFI e assim por diante. Você pode sair do shell digitando exit; no entanto, no caso do VirtualBox, isso provavelmente o levará a um menu EFI que pode ser igualmente confuso.

Se você instalou um sistema operacional em sua sessão do VirtualBox, é possível que ele tenha instalado um carregador de inicialização no EFI System Partition (ESP). A maioria dos sistemas operacionais registra esses carregadores de inicialização com o firmware, que os lembra e os inicializa automaticamente. Uma peculiaridade do VirtualBox é que ele geralmente esquece essas entradas do gerenciador de inicialização. O resultado é que a VM é inicializada no shell EFI por padrão. Existem várias maneiras de lidar com esse problema, incluindo:

  • Você pode iniciar o carregador de inicialização manualmente usando o shell EFI:
    1. Digite fs0:para acessar o primeiro sistema de arquivos, que geralmente é o ESP.
    2. Digite cd EFI\{osname}, onde {osname}é o nome do diretório em que seu sistema operacional instalou seu carregador de inicialização. (Você não disse qual sistema operacional instalou, não posso ter certeza do que é isso. A digitação ls EFImostrará o que está lá.)
    3. Inicie o carregador de inicialização digitando seu nome. Mais uma vez, não sei o que é isso. Para Linux, geralmente é grubx64.efi. Para Windows, é bootmgfw.efi.
  • Automatize o procedimento acima com um script de inicialização do shell EFI ( startup.nshno diretório raiz do ESP).
  • Renomeie o carregador de inicialização para EFI\BOOT\bootx64.efi, que é o nome do arquivo de fallback:
    1. Digite fs0:para acessar o primeiro sistema de arquivos, que geralmente é o ESP.
    2. Digite mv EFI\{osname} EFI\BOOTpara renomear o diretório em que o carregador de inicialização reside. Como acima, você terá que determinar o que {osname}é você mesmo.
    3. Digite mv EFI\BOOT\{loadername.efi} EFI\BOOT\bootx64.efi, onde {loadername.efi}é o nome do carregador de inicialização, como grubx64.efina maioria das instalações do Linux.
  • Registre o carregador de inicialização com o firmware do VirtualBox usando as ferramentas do shell. Não conheço uma descrição concisa de como fazer isso na Web, de imediato, e não tenho tempo para escrevê-la aqui. É provável que seja frustrante sem instruções precisas, porque há muitas armadilhas não óbvias que você deve evitar.

Pessoalmente, a solução mais usada é renomear o carregador de inicialização do padrão do sistema operacional para EFI\BOOT\bootx64.efi. É o mais fácil de implementar e funciona bem o suficiente. Uma desvantagem dessa abordagem é que, se o seu sistema operacional atualizar o carregador de inicialização, a atualização provavelmente irá para o local original; portanto, você precisará repetir o processo se quiser usar o carregador de inicialização atualizado.

Rod Smith
fonte
E o Mac? Suas instruções não funcionam
Pacerier