A instalação do Grub falhou

10

Eu tive uma boa instalação do Debian Jessie, mas eu 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 faltando, então eu executei um live cd e inseri 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, em seguida, 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

Eu fiz algo errado? Há pouco espaço na minha partição /boot/efi ?

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:

Sempre recebo esse erro toda vez que tento criar um carregador de boot 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.
    
por Hunter.S.Thompson 20.07.2017 / 17:08

2 respostas

22

Corrigidos os erros do efibootmgr montando as variáveis de inicialização para efibootmgr :

# mount -t efivarfs efivarfs /sys/firmware/efi/efivars

E então efibootmgr me deu erros sobre o espaço:

Could not prepare Boot variable: No space left on device

Corrigido isso excluindo arquivos de despejo:

# rm /sys/firmware/efi/efivars/dump-*

E depois correu o habitual

update-grub 
grub-install -v --target=x86_64-efi --recheck /dev/sda

e foi executado com sucesso!

    
por 20.07.2017 / 22:21
0

Eu tive o mesmo problema no Ubuntu com minha placa-mãe Asus. Eu 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 opção de linha de comando do kernel efi_no_storage_paranoia . Eu já tinha perdido a entrada de inicialização do Ubuntu UEFI. Felizmente eu ainda poderia inicializar a minha partição Ubuntu, indo para a seleção de inicialização nas configurações da BIOS. Depois disso, usei a tecla "e" no menu grub para adicionar essa opção à linha de comando do kernel. Então, consegui concluir a atualização do sistema anteriormente com falha executando apt -f install .

Se o sistema estiver no estado não-inicializável, uma opção é inicializar a partir do pendrive USB do Ubuntu e corrigir o problema a partir daí.

Se o problema reaparecer mais tarde, considerarei adicionar essa opção de kernel permanentemente em /etc/default/grub .

O kernel é muito paranóico sobre o preenchimento do espaço variável UEFI. Ele informa que está cheio, mesmo que ainda haja espaço. Isso é intencional para evitar o preenchimento permanente do espaço em algumas placas-mãe. Eu suspeito que com a minha placa-mãe isso pode ser muito paranóico. Talvez o BIOS não inicie a coleta de lixo a menos que o espaço fique mais cheio.

Anteriormente, consegui recuperar da mesma situação usando o cabeçalho "Clear CMOS" na minha placa-mãe. É bom encontrar uma solução de software.

    
por 25.07.2018 / 23:13