Aplicar novamente atualização que falhou para GRUB/UEFI

Olá!

Recentemente atualiza a BIOS da minha placa-mãe. Essa atualização “resetou” as configurações, então acessei e fiz os ajustes de clock entre outros, porém, esqueci de mudar de CSM para UEFI as opções de BOOT, etc.
Reiniciei e tudo correu bem, porém, em um dos updates, houve atualização do GRUB e itens do GRUB que, ao atualizar deu:


Start-Date: 2020-11-23  17:42:36
Commandline: /usr/sbin/synaptic --hide-main-window --non-interactive --parent-window-id 96469000 -o Synaptic::closeZvt=true --set-selections-file /tmp/tmpm_ts36zc
Requested-By: elvio (1000)
Install: libapparmor1:i386 (2.13.3-7ubuntu5.1, 
automatic)
Upgrade: alsa-ucm-conf:amd64 (1.2.2-1ubuntu0.4, 1.2.2-1ubuntu0.5), 
libpulsedsp:amd64 (1:13.99.1-1ubuntu3.7, 1:13.99.1-1ubuntu3.8), 
grub-common:amd64 (2.04-1ubuntu26.6, 2.04-1ubuntu26.7), 
pulseaudio:amd64 (1:13.99.1-1ubuntu3.7, 1:13.99.1-1ubuntu3.8), 
libasound2-data:amd64 (1.2.2-2.1ubuntu2.1, 1.2.2-2.1ubuntu2.2), 
grub2-common:amd64 (2.04-1ubuntu26.6, 2.04-1ubuntu26.7), 
grub-pc:amd64 (2.04-1ubuntu26.6, 2.04-1ubuntu26.7), 
grub-pc-bin:amd64 (2.04-1ubuntu26.6, 2.04-1ubuntu26.7), 
grub-efi-amd64-bin:amd64 (2.04-1ubuntu26.6, 2.04-1ubuntu26.7), 
libpulse0:amd64 (1:13.99.1-1ubuntu3.7, 1:13.99.1-1ubuntu3.8), 
libpulse0:i386 (1:13.99.1-1ubuntu3.7, 1:13.99.1-1ubuntu3.8), 
libpulse-mainloop-glib0:amd64 (1:13.99.1-1ubuntu3.7, 1:13.99.1-1ubuntu3.8), 
libasound2:amd64 (1.2.2-2.1ubuntu2.1, 1.2.2-2.1ubuntu2.2), 
libasound2:i386 (1.2.2-2.1ubuntu2.1, 1.2.2-2.1ubuntu2.2), 
grub-efi-amd64-signed:amd64 (1.142.8+2.04-1ubuntu26.6, 1.142.9+2.04-1ubuntu26.7), 
pulseaudio-module-bluetooth:amd64 (1:13.99.1-1ubuntu3.7, 1:13.99.1-1ubuntu3.8), 
pulseaudio-utils:amd64 (1:13.99.1-1ubuntu3.7, 1:13.99.1-1ubuntu3.8), 
libatopology2:amd64 (1.2.2-2.1ubuntu2.1, 1.2.2-2.1ubuntu2.2)
End-Date: 2020-11-23  17:45:02

Os demais itens atualizou normalmente, porém, deu erro ao aplicar algo como “grub-update” (não lembro o comando para atualizar as opções de boot). Por isso, lembrei da atualização de BIOS, entre de novo, ajustes as opções UEFI, resetei, entrei no mint novamente, porém, como os updates haviam sido instalados, obviamente não apareceram mais na lista de updates.

Então, para atualizar efetivamente, seria só executar algo como:
$ sudo update-grub
?
… ou algo além disso?

A partir de agora, vou ter que lembrar sempre de atualizar a BIOS e ajustar também esses detalhes.

Se vc instalou o computador no modo UEFI, os pacotes do GRUB estão preparados pro boot pelo UEFI. Mas o GRUB também é malandro e se instala na MBR pra também iniciar o computador no modo Legacy.

Daí foi atualizada a BIOS e zerado os padrões, possivelmente também as entradas de boot UEFI.

Quando vc iniciou o computador modo legacy, o GRUB malandro conseguiu achar o sistema e iniciou no modo legacy. Mas aí quando vc tenta dar update no GRUB ou tentar reinstalar, ele tenta carregar as variáveis EFI pois está todo configurado em EFI mas não acha essas variáveis pois o computador foi iniciado no modo legacy. Aí dá erro.

Eu desconheço se tem algum modo fácil de corrigir isso… O que eu faria é o seguinte:

  • Se disponível na BIOS, criaria na mão uma entrada pra vc carregar o GRUB no modo UEFI. Aí vc vai ter que indicar a partição e o caminho do bootloader (Provavelmente \EFI\UBUNTU\GRUBX64.EFI). Uma vez criada a entrada, só seleciona-la como padrão e resolvido.
  • Iniciar o computador por um pendrive live em modo UEFI e criar uma entrada EFI com o comando efibootmgr --create --disk /dev/sdX --part Y --loader "\EFI\ubuntu\grub.efi" --label "Grub do Mint" (claro que vc vai conferir esses valores antes de dar o comando e verificar o uso com o --help primeiro) Provavelmente já será colocado como boot padrão e vc reinicia e pronto. Mas algumas BIOS não deixam o sistema operacional mudar a ordem, nesse caso vc ainda vai precisar entrar na BIOS e selecionar manualmente essa nova entrada criada como padrão “Grub do Mint”.
1 curtida

Verifiquei os diretórios, porém, ainda não apliquei qualquer alteração.
Vou aguardar para aplicar pois está tudo funcionando corretamente.
Abaixo a configuração da unidade SSD:

Vou buscar documentação para entender bem, mesmo tendo o comando citado como dica, vou estudar para aprender melhor o funcionamento também.

elvio@pc-elvio-mint20:~$ sudo efibootmgr
[sudo] senha para elvio:             
BootCurrent: 0003
Timeout: 1 seconds
BootOrder: 0003
Boot0003* ubuntu
elvio@pc-elvio-mint20:~$ 

Valeu!