O que posso fazer para corrigir esse erro no grub-efi?


15

Eu tenho uma configuração de sistema de inicialização dupla com o Windows 10 e Ubuntu 16.04, ao ativar o meu PC, o grub mostra corretamente, o Windows e o Ubuntu são reconhecidos, sem problemas. Toda vez que há uma atualização ou eu tenho que instalar alguma coisa, continuo recebendo este erro:

Errors were encountered while processing:
 grub-efi-amd64-signed
 shim-signed
Setting up shim-signed (1.12+0.8-0ubuntu2) ...
Installing for x86_64-efi platform.
grub-install: errore: cannot find EFI directory.
dpkg: error processing package shim-signed (--configure):
 subprocess installed post-installation script returned error exit status 1
Setting up grub-efi-amd64-signed (1.66+2.02~beta2-36ubuntu3) ...
grub-install: errore: /usr/lib/grub/i386-pc/modinfo.sh doesn't exist. Please specify --target or --directory.
dpkg: error processing package grub-efi-amd64-signed (--configure):
 subprocess installed post-installation script returned error exit status 1

Posso simplesmente ignorá-lo ou fazer algo que eu possa fazer para corrigi-lo?


Este é um sistema UEFI? Seu / etc / fstab monta a partição EFI em / boot / efi? O / boot / efi contém um diretório EFI?
precisa saber é o seguinte

Sim, é um sistema UEFI, o / boot / efi contém o diretório EFI, não entendem a etc bit / / fstab
BressanFranco

Parece que uma atualização pode ter se interrompido em algum momento antes que os pacotes completamente configurando acabado tentar dpkg --configure -a
MttJocy

@MttJocy tentou fazê-lo, dá-me o mesmo erro com o pacote grub-efi-amd64-assinado e calço-assinado
BressanFranco

Respostas:


4

A referência a /usr/lib/grub/i386-pc/modinfo.shindica uma instalação do GRUB no modo BIOS - especificamente, a i386-pcseção desse caminho identifica a versão do GRUB no modo BIOS. (Para uma instalação no modo EFI no AMD64 / x86-64, o caminho equivalente é /boot/grub/x86_64-efi/modinfo.sh.) OTOH, os nomes dos pacotes indicam claramente uma instalação do GRUB no modo EFI. Os dois não devem ser misturados, mas de alguma forma isso aconteceu no seu caso. Talvez você tenha um arquivo de configuração restante do GRUB em uma instalação anterior no modo BIOS; nesse caso, rastrear e atualizar o arquivo deve corrigir o problema. Talvez o Reparo de inicialização possa corrigir o problema automaticamente. Observe, no entanto, que uma tentativa de reparo corre o risco de piorar as coisas, tornando seu sistema não inicializável. Portanto, aconselho a proceder com extrema cautela!

Se você não conseguir consertá-lo facilmente, poderá substituir o GRUB por outra coisa - várias alternativas estão disponíveis, conforme descrito nesta minha página da Web. O GRUB 2 é o carregador de inicialização mais difícil de ajustar, uma vez que ele "sai dos trilhos", como o seu, e é por isso que substituí-lo pode ser uma boa opção. É provável que meu próprio gerenciador de inicialização rEFInd seja fácil de instalar, com a ressalva de que há um bug no Ubuntu 16.04 que complica a instalação do PPA com o Secure Boot ativo. (Isso é coberto na documentação.) Observe também que a simples instalação de um novo pacote não superará seu problema; você precisaria desinstalar o pacote GRUB que está causando dificuldades para fazer isso. Abordo esse tópico especificamente aqui,já que não é tão fácil quanto você imagina. (O Ubuntu continua tentando reinstalar o GRUB se você o remover.)


O reparo de inicialização em opções avançadas possui uma desinstalação / reinstalação completa do grub. Isso pode corrigir o problema de configuração. Certifique-se de inicializar no modo UEFI, se o UEFI for instalado.
precisa saber é o seguinte

@oldfred como garantir que inicializo no modo UEFI? se é um cenário que BIOS deve (na verdade, eu sou definitivamente certeza de que é) já esteja habilitado
BressanFranco

Você escolhe no menu de inicialização UEFI. Normalmente, a unidade flash é exibida duas vezes. Uma vez como UEFI: flashdrive e novamente como flashdrive, que é a inicialização do BIOS. Você também pode saber se o menu grub é o UEFI, se a tela de acessibilidade (pequenos ícones na parte inferior) é o BIOS. Mostra instalar com capturas de tela. A tela de acessibilidade roxa do BIOS e a tela de menu do UEFI black grub help.ubuntu.com/community/UEFI
oldfred

tentei o disco ao vivo de reparo de inicialização e executou o reparo automático, tudo parece estar bom agora, sem os mesmos erros de antes, o update-grub re-adicionou a partição do Windows. Tudo parece bem
BressanFranco

40

Experimentar

sudo apt-get purge grub\*
sudo apt-get install grub-efi
sudo apt-get autoremove
sudo update-grub

Consertar.


fixa-lo com o disco ao vivo de boot-repair
BressanFranco

Estes comandos funcionou como um encanto Xubuntu 16.04
guyfromfl

4
Isso é seguro?
Pithikos

1
É seguro para os dois lados. Você pode usar os comandos acima ou o disco ao vivo de reparo de inicialização.
John John

1
Atualizei o Ubuntu 17.04 para 18.04 e, em seguida, estava recebendo o erro: Errors were encountered while processing: grub-efi-amd64 grub-efi-amd64-signed shim-signed E: Sub-process /usr/bin/dpkg returned an error code depois de fazer sudo apt upgrade. Sua solução funcionou comigo também. Obrigado.
mario go

4

Caso alguém esteja pensando em configurar um disco USB de inicialização múltipla para lidar com mbr e grub:

Se o seu sistema atual for EFI, você estará ausente:

sudo apt install grub-pc-bin

Se o seu sistema atual for MBR, você estará ausente:

sudo apt install grub-efi-amd64-bin
# You may also need grub-efi-amd64-signed

1

experimentar:

sudo apt-get -f install

Etapa 1: iniciar a desinstalação do shim

então: este comando do terminal removerá o arquivo assinado com shim

etapa 2: shim desinstalar

after: com o arquivo shim removido com sucesso

passo 3: calço removido

finalmente: pelo menos as atualizações de software do Ubuntu devem começar a funcionar novamente se tudo correr bem (como no meu caso)

etapa 4: prompt de atualizações do sistema

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.