Eu tinha uma boa instalação em execução do Debian Jessie, mas depois corri apt-get update && apt-get upgrade && apt-get dist-upgrade
.
E depois da reinicialização, ele veio diretamente para o BIOS. Percebi que o Grub estava ausente, então executei um live cd e entrei Rescue mode
, montei minha partição raiz + a partição de inicialização e executei estes comandos:
O Grub encontra a imagem do linux:
root@debian:~# update-grub
Generating grub configuration file ...
Found background image: /usr/share/images/desktop-base/desktop-grub.png
Found linux image: /boot/vmlinuz-4.9.0-3-amd64
Found initrd image: /boot/initrd.img-4.9.0-3-amd64
Found linux image: /boot/vmlinuz-4.9.0-0.bpo.3-amd64
Found initrd image: /boot/initrd.img-4.9.0-0.bpo.3-amd64
Found linux image: /boot/vmlinuz-3.16.0-4-amd64
Found initrd image: /boot/initrd.img-3.16.0-4-amd64
Found Ubuntu 16.10 (16.10) on /dev/sdb2
Adding boot menu entry for EFI firmware configuration
done
E então grub-install
:
root@debian:~# grub-install /dev/sda
Installing for x86_64-efi platform.
Could not prepare Boot variable: No such file or directory
grub-install: error: efibootmgr failed to register the boot entry: Input/output error.
lsblk
:
root@debian:~# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 223.6G 0 disk
├─sda1 8:1 0 92.6G 0 part /
├─sda2 8:2 0 130.4G 0 part
└─sda3 8:3 0 573M 0 part /boot/efi
Fiz algo de errado? Há muito pouco espaço na minha /boot/efi
partição?
root@debian:~# ls -l /boot/efi/EFI/debian/
total 120
-rwx------ 1 root root 121856 Jul 20 20:29 grubx64.efi
efibootmgr
não mostra uma instalação Debian:
root@debian:~# efibootmgr --verbose | grep debian
Editar:
Continuo recebendo esse erro toda vez que tento criar um carregador de inicialização usando efibootmgr
:
grub-install: info: executing efibootmgr -c -d /dev/sda -p 3 -w -L grub -l \EFI\grub\grubx64.efi.
Could not prepare Boot variable: No such file or directory
grub-install: error: efibootmgr failed to register the boot entry: Input/output error.
Respostas:
Corrigidos os erros efibootmgr montando as variáveis de inicialização para
efibootmgr
:E então
efibootmgr
me deu erros sobre o espaço:Corrigido isso excluindo arquivos de despejo:
E então correu o habitual
e correu com sucesso!
fonte
rm /sys/firmware/efi/efivars/dump-*
e a execuçãogrub-install
.Eu tive o mesmo problema no Ubuntu com minha placa-mãe Asus. Não encontrei nenhum arquivo de despejo para excluir. Ou qualquer coisa grande que pareça segura para excluir.
Consegui corrigir o problema reiniciando o sistema com a
efi_no_storage_paranoia
opção de linha de comando do kernel. Eu já havia perdido a entrada de inicialização do Ubuntu UEFI. Felizmente, eu ainda poderia inicializar na minha partição Ubuntu indo para a seleção de inicialização nas configurações do BIOS. Depois disso, usei a tecla "e" no menu grub para adicionar essa opção à linha de comando do kernel. Consegui concluir minha atualização do sistema com falha anteriormente executandoapt -f install
.Se o sistema estiver no estado não inicializável, uma opção é inicializar a partir do stick USB do Ubuntu e corrigir o problema a partir daí.
Se o problema reaparecer mais tarde, considerarei adicionar essa opção do kernel permanentemente
/etc/default/grub
.O kernel é muito paranóico quanto ao preenchimento do espaço variável UEFI. Ele informa que está cheio, mesmo se houver espaço restante. Isso é intencional para evitar o preenchimento permanente do espaço em algumas placas-mãe. Eu suspeito que com minha placa-mãe isso possa ser muito paranóico. Talvez o BIOS não inicie a coleta de lixo, a menos que o espaço fique mais cheio.
Anteriormente, conseguia me recuperar da mesma situação usando o cabeçalho "Clear CMOS" na minha placa-mãe. É bom encontrar uma solução de software.
fonte
Tente especificar o disco que contém o carregador se o disco não for / dev / sda:
fonte