16.04 Instalação de inicialização dupla no Lenovo Yoga 2 Pro - /EFI/ubuntu/grubx64.efi não encontrado após a inicialização no Windows

3

Eu tenho lido alguns outros tópicos, especialmente sobre instalações de inicialização dupla no Lenovo Yoga 2 Pro executando o windows 8.1, mas eu não parecia encontrar exatamente o mesmo problema. Eu sou reconhecidamente um novato nisso (minha primeira vez tentando instalar o Ubuntu), então eu apreciaria qualquer oportunidade que eu pudesse aprender mais sobre isso!

Reservei cerca de 60 GB para a partição e outros 8 GB para a troca. Eu também instalei o grub na partição /dev/sda2 , que é o ESP onde o Gerenciador de Inicialização do Windows também está localizado.

Eu especifiquei que o ubuntu / grub deve inicializar primeiro no menu de inicialização do BIOS. Inicialização Segura e Inicialização Rápida da Lenovo estão desativadas.

Tudo está indo bem até agora. Eu posso inicializar e o grub aparece, permitindo que eu selecione entre o Ubuntu e o Gerenciador de Inicialização do Windows. Se eu escolher o Ubuntu, eu posso entrar no Ubuntu, logar, etc., perfeitamente bem. O problema começa quando eu escolho inicializar no Windows. Depois de fazer isso e tentar desligar / reiniciar e inicializar o Ubuntu, a seguinte mensagem aparece:

Failed to open /EFI/ubuntu/grubx64.efi - Not Found  
Failed to load image /EFI/ubuntu/grubx64.efi: Not Found  
start_image() returned Not Found

Eu verifiquei no lado do Windows que os arquivos declarados como não existentes estão de fato nas pastas especificadas. Eles foram detectados usando o firmware bcdedit / enum.

Eu também tentei usar o comando

bcdedit /set {bootmgr} path \EFI\ubuntu\shimx64.efi 

no prompt de comando do administrador sem sorte.

Depois disso, eu inicializei ao vivo a partir de um USB e fiz um reparo de inicialização, que corrigiu o GRUB ... até que eu reiniciei o sistema novamente no Windows, ponto no qual ocorreu o mesmo problema.

Qualquer ajuda seria muito apreciada e tentarei fornecer qualquer outra informação que possa ser útil. Obrigado!

    
por tigerwins 30.05.2017 / 00:50

2 respostas

4

O efi espera que o gerenciador de inicialização padrão seja /efi/boot/bootx64.efi. O Windows é específico para garantir que ele seja inicializado.

sem folga, a partir de 8.1 no windows realmente não desliga, ele suspende para o disco (como um hibernate) para que ele inicialize mais rápido. segundo ele altera o EFI para fazer a entrada 0000 (windows) primeiro na ordem de inicialização.

o seguinte: renomeie grubx64.efi para bootx64.efi e substitua o arquivo efi / boot / bootx64.efi.this faz o grub o gerenciador de inicialização padrão.

segundo: quando no Ubuntu, use o efibootmgr para deletar todas as entradas do efi. e reinicie o seu computador. Certifique-se de que o primeiro sistema em que você inicializa é o ubuntu, para que ele seja colocado na entrada 0000. depois, as janelas de inicialização.

    
por ravery 30.05.2017 / 01:27
3

As mensagens Failed to open , Failed to load image e start_image() returned Not Found são de Shim. (Você pode verificar o código-fonte; eles estão lá no arquivo shim.c .) Normalmente, ao inicializar o Ubuntu em um EFI baseado em computador, o sistema lança o Shim ( shimx64.efi ), que é a maneira de o Ubuntu lidar com o Secure Boot. O programa Shim, em seguida, inicia o GRUB ( grubx64.efi ). Essas mensagens de erro indicam que o Shim foi iniciado, mas o GRUB não estava presente - ou não pôde ser lido. Você escreveu:

  

Eu verifiquei no lado do Windows que os arquivos declarados como não existentes estão de fato nas pastas especificadas.

Isso indica que grubx64.efi existe, mas não é legível para Shim. A explicação mais provável para essa discrepância entre o que o Windows vê e o que a EFI vê é que você tem os recursos de inicialização rápida do Windows e / ou de hibernação ativados. Esses recursos transformam uma operação de desligamento do Windows em uma operação de suspensão para disco, a fim de acelerar a próxima inicialização. O problema é que esse recurso pode deixar os sistemas de arquivos, incluindo o sistema de arquivos no ESP, em um estado inconsistente. Isso, por sua vez, pode causar estragos na capacidade da EFI de ler arquivos do ESP - alguns arquivos podem parecer desaparecer aleatoriamente. Como regra geral, os drivers do sistema de arquivos EFI FAT não parecem ser tão robustos quanto os drivers FAT no Windows ou Linux, portanto, um arquivo pode parecer OK no Windows, mas ser ilegível para o EFI.

A solução é desativar os recursos de Inicialização Rápida e Hibernação do Windows, conforme descrito aqui e aqui, respectivamente.

Também é possível que o dano no sistema de arquivos tenha ocorrido de alguma outra forma, mas que os drivers do Windows podem contornar o problema, enquanto os drivers EFI não conseguem. Executar uma ferramenta de verificação de disco (como dosfsck no Ubuntu ou CHKDSK no Windows) no ESP pode corrigir o problema. Em casos extremos, fazer backup, criar um novo sistema de arquivos e restaurá-lo pode ser necessário.

Note que a solução do rapto é apenas um band-aid - e arriscado. (Eu vi pelo menos um computador que começou a flake mal depois que eu deletei todas as entradas de inicialização do firmware). Copiar GRUB para o nome de arquivo de fallback de EFI/BOOT/bootx64.efi pode funcionar em alguns casos (como aparentemente tem no seu), mas Na ausência de variáveis de inicialização EFI adequadas, algumas EFIs favorecerão o carregador de inicialização do Windows sobre o carregador de inicialização substituto. Pior ainda, como a solução de ravery não resolve a causa subjacente do problema, ela pode se repetir ou algum outro dano no sistema de arquivos pode ocorrer, o que pode resultar em outros problemas. (Felizmente, o número de arquivos no ESP é relativamente pequeno, então você provavelmente não vai acabar com um sistema completamente destruído; as ferramentas de recuperação do Windows e do Ubuntu podem restaurar arquivos ESP danificados.)

Para mais informações sobre como os sistemas EFI são inicializados, além do uso do nome do arquivo de fallback, consulte:

por Rod Smith 01.07.2017 / 04:29