Como vários carregadores de boot trabalham em uma partição do sistema EFI

12

Meu ESP se parece com isso

Boot Dell fedora Microsoft

No diretório Boot, o seu é um carregador de inicialização chamado bootx64.efi , que eu entendo ser o carregador de boot padrão que é iniciado primeiro. Mas no diretório fedora existe outro carregador de inicialização (grub2) chamado grubx64.efi .

Qual é a função de cada um desses carregadores de inicialização? Qual deles fornece o boot-menu ?

    
por user3247608 11.10.2014 / 04:15

1 resposta

13

bootx64.efi não é iniciado primeiro. Na maioria das vezes, não é iniciado de todo.

O firmware EFI tem seu próprio "menu de inicialização", análogo ao menu apresentado pelo GRUB, mas em um estágio anterior do processo de inicialização. Assim como o GRUB permite que você escolha o kernel Linux a ser executado, o menu de inicialização EFI permite que você escolha qual programa de inicialização EFI será executado - opções como o próprio GRUB ou o bootloader do Windows. (E, como no menu do GRUB, o menu de inicialização EFI normalmente não é mostrado por padrão; você precisa pressionar uma tecla de atalho durante a inicialização para vê-lo.)

As entradas no menu de inicialização EFI são definidas pelos dados de configuração armazenados na NVRAM da placa-mãe (a memória "BIOS settings"). Esta configuração não é armazenada em um arquivo, mas no Fedora você deve poder vê-lo usando o programa efibootmgr . Cada entrada contém um nome legível (para mostrar no menu) e um caminho para um programa de inicialização em uma partição do sistema EFI, bem como um número de prioridade que determina qual entrada é inicializada por padrão quando você não pressiona a tecla de atalho. para ver o menu.

Essas entradas de inicialização da NVRAM são (geralmente) criadas pelos instaladores do sistema operacional. Quando você instala um sistema operacional e coloca um arquivo de bootloader na partição do sistema EFI, ele também adiciona uma entrada à configuração NVRAM para que o novo gerenciador de inicialização esteja disponível no menu de inicialização EFI. (Em muitos casos, isso também torna a nova entrada o padrão, para que o SO que você acabou de instalar seja inicializado sozinho, sem a necessidade de abrir o menu de inicialização EFI e escolhê-lo manualmente.)

O programa Boot/bootx64.efi é um substituto para quando a EFI não foi configurada com nenhuma entrada de inicialização da NVRAM referente a outros programas de inicialização no disco. É importante para mídias removíveis como CDs inicializáveis e drives USB, mas em um disco rígido, geralmente não é usado. O instalador do Windows cria um Boot/bootx64.efi como seguro contra falhas; É apenas uma cópia do Microsoft/Boot/bootmgfw.efi (pelo menos no Windows 7; não sei sobre outras versões).

Nos meus sistemas, substituímos o Microsoft bootx64.efi por uma cópia da Shell da EFI , de modo que, se eu de alguma forma me encontrar sem quaisquer entradas de inicialização NVRAM e realmente confiar no bootloader de fallback, eu deixo cair em um shell onde posso examinar a situação e executar manualmente um dos outros programas de inicialização em vez de ter o sistema Windows automaticamente. (Eu também adicionei uma entrada para ele no menu GRUB para que eu tenha a opção de iniciar o shell EFI mesmo quando o sistema está funcionando corretamente.)

    
por 11.10.2014 / 06:35

Tags