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: