Toda vez que inicializo um sistema instalado Fedora 27 UEFI, ele mexe com as entradas do gerenciador de inicialização EFI. Por exemplo:
- Como root, altero a ordem de inicialização para que a entrada do Fedora não seja a primeira. E/ou excluo a entrada do Fedora.
- Na inicialização, no menu de inicialização UEFI do sistema, inicializo uma entrada genérica de inicialização de disco rígido.
- Isso inicializa bem o Fedora.
- Como root, verificando,
efibootmgr
vejo que o Fedora de alguma forma conseguiu adicionar uma entrada para si mesmo (se foi excluído antes) e colocar essa entrada na frente da ordem de inicialização.
Esse comportamento faz sentido para instalações padrão, mas não tanto se o Fedora estiver instalado em um pendrive que você deseja inicializar para o trabalho de resgate, sem alterar implicitamente as entradas do gerenciador de inicialização EFI.
Assim, qual peça do Fedora é responsável por essas mudanças no tempo de inicialização? E como isso pode ser desabilitado?
editar: Outra experiência:
Como root, exclua todas as entradas de inicialização do Fedora com efibootmgr e altere a ordem de inicialização para incluir apenas uma entrada genérica (000C).
Inclua efibootmgr no initramfs (usando dracut).
Reinicie e solte no shell dracut.
efibootmgr agora imprime:
BootCurrent: 000C
BootOrder: 000A,0000,...
...
Boot000A* Fedora HD(2,GPT,...)/File(\EFI\fedora\shimx64.efi)
Boot000C* UEFI Misc Device 2 PciRoot(0x0)/Pci(0x5,0x0)...
...
O BootCurrent é o esperado, a mudança no BootOrder (contém tudo agora) e a nova entrada do Fedora são inesperadas.
Portanto, algo em execução entre o shutdown -r now
e o shell de emergência initramfs alterou a configuração do gerenciador de inicialização EFI.
É possível que o firmware UEFI tenha feito essa alteração, mas não vejo como derivaria o nome 'Fedora' e o /EFI/fedora/shimx64.efi
caminho.
É o calço.
Com uma instalação padrão do Fedora,
EFI/BOOT/BOOTX64.EFI
é um shim (para dar suporte à inicialização segura) que também executa alguma lógica de fallback que restaura a entrada do gerenciador de inicialização do Fedora. O nome 'Fedora' vem doEFI/fedora/BOOTX64.CSV
arquivo.A lógica de fallback pode ser desativada removendo o código de fallback e copiando os bits do grub para o
BOOT
diretório, ou seja:A configuração padrão pode ser restaurada removendo os arquivos copiados e reinstalando os pacotes:
Pode ser algum script de inicialização ou
systemd
arquivo de unidade em execuçãoefibootmgr -c
com as opções apropriadas, então você pode querer executar:para encontrar qualquer menção de efibootmgr em quaisquer scripts que possam ser executados no momento da inicialização. Em seguida, leia os prováveis suspeitos para descobrir se existe uma maneira projetada de desligá-los.
Por outro lado, também pode ser o seu firmware UEFI tentando ser "útil": registrando automaticamente qualquer bootloader inicializado usando um nome de dispositivo UEFI genérico, supondo que algo possa ter apagado o registro existente. Nesse caso, um relatório de bug ao fornecedor do sistema ou da placa-mãe pode ser apreciado.