Não é possível registrar chaves devido ao Shim IEFI Key Management não aparecer após a reinicialização

0

Estou tentando assinar um nVidia kernel e um módulo virtualbox usando mokutil .

Meu problema é que o IEFI Key Management não está aparecendo após a reinicialização para que eu possa inscrever a chave.

Usando mokutil --list-new , posso ver que minha chave está programada para ser registrada. Além disso, o recurso Secure Boot é ativado , junto com a validação do mokutil. No entanto, após a reinicialização, espero que o IEFI Key Management carregue, mas inicializo no Ubuntu, e as chaves permanecem não inscritas (executando mokutil --list-enrolled dá: Falha ao read MokListRT: Nenhum arquivo ou diretório desse tipo

Meu sistema operacional é o Ubuntu 16.04 LTS, o driver da nvidia que estou tentando assinar é o 384.59 e minha versão do VirtualBox é a 5.1.26.

Obrigado antecipadamente.

    
por Rafi 23.08.2017 / 15:12

1 resposta

1

Existem várias maneiras de prosseguir, mas nem todas funcionam igualmente bem, dependendo do hardware e das necessidades:

  • Algumas EFIs fornecem uma opção para iniciar programas arbitrários. Você pode usar esse recurso para iniciar o MokManager ( MokManager.efi ou mmx64.efi no mesmo diretório que contém shimx64.efi e grubx64.efi ). Esta é provavelmente a abordagem mais direta, mas esse recurso EFI é relativamente raro, e mesmo que esteja presente, não há padronização sobre onde ele está localizado no sistema de menu da EFI, então você terá que procurá-lo.
  • Prepare uma unidade flash USB com um sistema de arquivos FAT, crie um diretório EFI/BOOT nessa unidade e copie alguns arquivos do diretório /boot/efi/EFI/ubuntu para o diretório EFI/BOOT na unidade flash USB: Copiar shimx64.efi e renomeie-o para bootx64.efi em seu novo local e copie MokManager.efi ou mmx64.efi sem renomeá-lo. (Seu Ubuntu provavelmente tem mmx64.efi , mas não me lembro quando foi renomeado.) Você pode então inicializar a unidade flash USB, que deve iniciar o MokManager.
  • Você pode usar um programa shell EFI para fazer o trabalho. Algumas EFIs têm esse programa integrado, mas isso é tão raro quanto a capacidade de executar programas arbitrários. Se o seu não tiver tal recurso, você pode baixar um da Internet - veja esta página wiki do Arch Linux para alguns ponteiros. Coloque o programa em uma unidade flash USB FAT, denominada EFI/BOOT/bootx64.efi . Você deve então poder inicializar a unidade flash USB no shell e usá-la para executar o MokManager. Observe, no entanto, que você precisará desativar temporariamente o Secure Boot para executar o shell EFI. Você também precisará aprender o suficiente sobre o shell EFI para navegar até o binário MokManager e executá-lo. (Esse shell é semelhante a um prompt de comando do DOS ou do Windows. O wiki do Arch fornece algumas dicas sobre como usá-lo.)
  • Você pode inicializar usando meu gerenciador de reinicialização em uma unidade flash USB ou CD-R. Isto deve lhe dar um ícone para iniciar o MokManager, ou pelo menos um shell EFI. Assim como no lançamento de um shell EFI diretamente, você precisará desativar temporariamente o Secure Boot para que esta opção funcione.
  • Você pode instalar o rEFInd em seu disco rígido usando o pacote PPA ou Debian. Quando você reiniciar, o MokManager deve iniciar, permitindo que você registre as chaves do rEFInd e suas próprias chaves. Este é um método drástico, pois deixará o rEFInd no controle do seu processo de boot. Portanto, a menos que você tenha certeza de que quer mudar para o rEFInd como seu gerenciador de boot principal, esta não é uma boa opção. Eu o menciono apenas por completo.

Eu tentaria as opções em mais ou menos essa ordem, embora você possa usar seu próprio julgamento e pular alguma coisa se não gostar do jeito que parece ou não funcionar.

    
por Rod Smith 23.08.2017 / 23:18