Desative o acesso do Windows à UEFI NVRAM

Desative o acesso do Windows à UEFI NVRAM

Eu escrevi um script bash que adiciona Grub Entry ao UEFI NVRAM. Os scripts são invocados pelo Linux USB inicializável. Este comando adiciona entrada:

efibootmgr -c -d /dev/sda -p 2 -L "Grub2" -l "\EFI\Boot\shimx64.efi" 

O script funciona corretamente. Mais tarde, porém, instalei o Windows a partir da imagem Partclone.

O Windows substitui a ordem de inicialização e adiciona uma nova entrada. Isso acontece durante o carregamento do Windows. Após a reinicialização, o Grub2 desaparece.

Não quero fazer alterações no Windows (bcdedit bootmgr), pois tenho imagem pronta (feita por partclone)

É possível desabilitar o acesso do Windows à UEFI NVRAM? É possível executar o Windows From Grub EFI (inicialização segura) sem o gerenciador de inicialização do Windows (quero dizer diretamente winload.efi)?

Você tem alguma ideia?

Responder1

Não conheço uma maneira de impedir que o Windows grave na NVRAM e modifique variáveis ​​EFI; no entanto, há outras coisas que você pode fazer....

Veja minha resposta paraessa questãopara algumas ferramentas que podem ajudar. bcdedité mais provável que seja útil neste aspecto. Você também pode tentarFácil UEFI, que eu não usei quando escrevi a resposta anterior.

Outra opção seria criar scripts de inicialização e/ou desligamento do sistema que restaurassem automaticamente a configuração de inicialização desejada. Você usaria bcdeditisso no Windows, mas não sou usuário do Windows o suficiente para fornecer detalhes. É improvável que seja necessário fazer isso no Linux, já que o Linux não é o culpado; mas se fosse, você poderia usar efibootmgr- ou para um toque um pouco mais leve, você poderia usar orefind-mkdefaultscript, que adicionarei à próxima versão do rEFInd. Por padrão, este script define rEFInd como o programa de inicialização padrão, mas se você passar o nome (nome do arquivo ou descrição) de outra ferramenta por meio da -Lopção, o script irá defini-lo como padrão.

Na pior das hipóteses, você pode renomear ou mover o arquivo do carregador de inicialização do Windows ( EFI\Microsoft\Boot\bootmgfw.efino ESP) para outra coisa e colocar o Shim em seu lugar, com uma cópia do GRUB lá. Isso fará com que o GRUB seja iniciado em vez do carregador de inicialização do Windows. No entanto, você precisará reconfigurar a configuração do GRUB para iniciar o carregador de inicialização do Windows corretamente. OReparo de inicializaçãoferramenta pode fazer isso automaticamente; a opção está no menu Avançado e é chamada de algo como "fazer backup e substituir arquivos de inicialização do Windows" (não me lembro do nome exato). A principal desvantagem dessa abordagem é que, se e quando o Windows atualizar seu carregador de inicialização, você precisará reaplicar essa correção. Também é confuso; os nomes dos arquivos do disco e as entradas de inicialização NVRAM serão enganosos, o que poderá complicar reparos futuros.

informação relacionada