Problema de inicialização segura do Ubuntu 15.04

1

Eu tenho um sistema com o Ubuntu 15.04 e o Windows 10 com inicialização dupla. Tudo funcionou bem com inicialização segura. Mas agora, de repente, parou de funcionar e o Ubuntu não pode inicializar com a inicialização segura ativada (através do shimx64) e apenas me redireciona para o Windows quando eu escolho essa opção. No entanto, posso desativar a inicialização segura e a inicialização a partir da opção de inicialização do grubx64. Parece haver algo errado com shimx64, mas não tenho certeza.

Aqui está minha saída de fazer sudo efibootmgr -v :

BootCurrent: 000D
Timeout: 0 seconds
BootOrder: 0002,0003,000C,000D,0000,0001
Boot0000* P0: ST1000DM003-1ER162            BIOS(11,0,00)
Boot0001* P4: PLDS DVD+/-RW DH-16AES        BIOS(13,0,00)
Boot0002* ubuntu    HD(1,800,fa000,2c4c3f52-0207-45e5-bd9b-cc48a2e27dcf)File(\EFI\ubuntu\shimx64.efi)
Boot0003* Windows Boot Manager  HD(1,800,fa000,2c4c3f52-0207-45e5-bd9b-cc48a2e27dcf)File(\EFI\Microsoft\Boot\bootmgfw.efi)WINDOWS.........x...B.C.D.O.B.J.E.C.T.=.{.9.d.e.a.8.6.2.c.-.5.c.d.d.-.4.e.7.0.-.a.c.c.1.-.f.3.2.b.3.4.4.d.4.7.9.5.}...1...............
Boot000C* UEFI OS   HD(1,800,fa000,2c4c3f52-0207-45e5-bd9b-cc48a2e27dcf)File(\EFI\BOOT\BOOTX64.EFI)
Boot000D* ubuntu    HD(1,800,fa000,2c4c3f52-0207-45e5-bd9b-cc48a2e27dcf)File(\EFI\Ubuntu\grubx64.efi)

Noto que um deles é \EFI\Ubuntu\grubx64.efi e o outro é \EFI\ubuntu\shimx64.efi , por isso existe o "Ubuntu" de capital para grubx64.efi e o "ubuntu" para shimx64.efi . Não tenho certeza se isso pode estar causando um problema. Então, aqui está o que eu fiz:

$ cd /boot/efi/EFI/
$ ls
Boot  Microsoft  ubuntu
$ cd ubuntu
$ ls
grub.cfg  grubx64.efi  MokManager.efi  shimx64.efi

Então eu vi que havia apenas um diretório "ubuntu" e nenhum diretório "Ubuntu". O diretório "ubuntu" parece ter shimx64.efi e grubx64.efi e tudo o mais que precisa para inicializar.

Finalmente, eu fiz sudo boot-repair e escolhi "Create Boot Info Summary" e aqui está o link: link . Notei que /EFI/ubuntu/shimx64.efi não estava listado em "Boot files" para sda1. Não sei ao certo o que fez com que parasse de funcionar, mas pode ter sido por causa de uma atualização. Qualquer ajuda é apreciada.

    
por Seif Ibrahim 06.09.2015 / 22:53

1 resposta

1

Meu palpite é que você está tendo problemas com a assinatura em sua cópia do Shim. Este é um problema que encontrei antes com algumas EFIs; eles são às vezes meticulosos e não gostam de binários assinados que são bons em outros computadores. Especificamente, eu vi esse problema com uma placa-mãe ASUS P8H77-I - mas outras marcas e modelos podem estar sujeitos ao mesmo problema, também.

Se estou certo, você tem basicamente duas opções:

  • Desativar inicialização segura.
  • Encontre outro programa Shim (possivelmente mais antigo) e use-o.

A primeira opção é bastante auto-explicativa e você obviamente já a descobriu. Para o segundo, provavelmente há pelo menos uma dúzia de binários Shim flutuando com assinaturas da Microsoft. Um que nunca me deu problemas, mas isso é velho, é o Shim 0,2 assinado por Matthew Garrett . Para usá-lo, você deve substituir os shimx64.efi e MokManager.efi dos binários em /boot/efi/EFI/ubuntu pelos do arquivo que você encontrar. Quando você reiniciar, você provavelmente será saudado por um seletor de arquivos de modo de texto feio (MokManager) que faz a interface do usuário do Apple II parecer sofisticada. Use-o para selecionar um arquivo de certificado canônico. Este arquivo está disponível em algum pacote do Ubuntu ou outro, mas não me lembro qual deles. Por conveniência, reuni vários para o meu próprio programa da rEFInd; veja aqui para os arquivos individuais. Você precisa do arquivo canonical-uefi-ca.der , e ele deve ser armazenado no ESP (sob /boot/efi no Ubuntu) para que o MokManager possa lê-lo. Quando você entra no arquivo de assinatura da Canonical e sai do MokManager, o sistema pode travar, reiniciar, inicializar no Windows ou inicializar no GRUB. Da próxima vez que você inicializar, tudo deverá funcionar normalmente.

Usar um pacote antigo do Ubuntu Shim provavelmente será um pouco mais fácil, já que você não terá que usar o MokManager. Você precisará rastrear um pacote apropriado, instalá-lo e, possivelmente, copiar os arquivos grubx64.efi e MokManager.efi , como acabamos de descrever. Certifique-se de manter cópias desses arquivos em algum lugar seguro; se minha hipótese estiver correta, o gerenciador de pacotes provavelmente tentará atualizar o Shim e substituir seus arquivos pela versão quebrada.

É improvável que a diferença de caso que você observou seja importante. O ESP (montado em /boot/efi no Ubuntu) usa o FAT, que é um sistema de arquivos que retém casos, mas não diferencia maiúsculas de minúsculas. Em outras palavras, ubuntu e Ubuntu são idênticos ao FAT. OTOH, talvez seu firmware tenha um bug de diferenciação de maiúsculas e minúsculas que interage com a configuração de inicialização segura. Isso parece um pouco exagerado, mas coisas estranhas aconteceram.

    
por Rod Smith 07.09.2015 / 04:32