Como sair do shell EFI na caixa virtual

11

Estou executando uma máquina virtual para Mac OSX e ela sempre inicializa no shell EFI. Eu só quero uma explicação simples do que é isso e como, se possível, sair dele.

    
por Dan 14.11.2016 / 16:59

1 resposta

13

O shell EFI é uma ferramenta de linha de comando semelhante no conceito de bash no Linux / Unix / OS X ou uma janela do Prompt de Comando no Windows. Ele permite visualizar, excluir, editar e renomear arquivos, 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 levará você a um menu EFI que pode ser confuso.

Se você instalou um sistema operacional na sua sessão do VirtualBox, provavelmente instalou um gerenciador de partida na partição do sistema EFI (ESP) . A maioria dos sistemas operacionais registra esses gerenciadores 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 gerenciador 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} , em que {osname} é o nome do diretório em que seu sistema operacional instalou seu carregador de inicialização. (Você não disse qual sistema operacional você instalou, então não posso ter certeza do que é isso. Digitar ls EFI mostrará o que está lá.)
    3. Inicie o gerenciador de inicialização digitando seu nome. Mais uma vez, não sei o que é isso. Para o Linux, geralmente é grubx64.efi . Para o Windows, é bootmgfw.efi .
  • Automatize o procedimento acima com um script de inicialização do shell EFI ( startup.nsh no diretório raiz do ESP).
  • Renomeie o carregador de boot 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\BOOT para renomear o diretório no qual o carregador de boot reside. Como acima, você terá que determinar qual é o {osname} .
    3. Digite mv EFI\BOOT\{loadername.efi} EFI\BOOT\bootx64.efi , em que {loadername.efi} é o nome do carregador de inicialização, como grubx64.efi para a maioria das instalações do Linux.
  • Registre o carregador de boot com o firmware do VirtualBox usando as ferramentas do shell. Eu não sei de uma descrição concisa de como fazer isso na web, de improviso, e não tenho tempo para escrever 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 boot do padrão do SO para EFI\BOOT\bootx64.efi . Este é 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 boot, a atualização provavelmente irá para o local original, então você terá que repetir o processo se quiser usar o gerenciador de inicialização atualizado.

    
por 23.11.2016 / 18:22