Primeiro, alguns pontos-chave sobre a inicialização no modo EFI:
- O firmware da EFI inclui um gerenciador de inicialização que mantém uma lista de arquivos e dispositivos inicializáveis na NVRAM, juntamente com uma lista de prioridades do que deve ser inicializado primeiro.
- Os gerenciadores de inicialização EFI instalados pelos sistemas operacionais são arquivos armazenados no ESP. Portanto, você não "inicializa um disco" ou "inicializa uma partição" da maneira como faz na BIOS; você inicializa um arquivo .
- Uma exceção parcial ao acima: Há um nome de arquivo especial fallback (
EFI/BOOT/bootx64.efi
para sistemas x86-64) que pode ser iniciado se nenhuma outra entrada for válida. Esse nome de arquivo foi originalmente planejado para uso em mídia de instalação (CDs, unidades flash USB, etc.), mas também pode ser usado em ESPs em discos rígidos. - Muitas (e não todas) EFIs removem automaticamente as entradas de inicialização de seus gerenciadores de inicialização internos quando detectam que as entradas não são mais válidas.
- O redimensionamento de partições FAT não é confiável, na minha experiência, e às vezes resulta no sistema de arquivos se tornar ilegível para alguns ou todos os sistemas operacionais. (Para o propósito deste ponto, o EFI é um sistema operacional.)
- Mesmo que o redimensionamento seja bem-sucedido, pode alterar o valor GUID da partição, que é usado como parte do caminho para o carregador de boot na configuração do gerenciador de inicialização da EFI.
Colocando todos os itens acima juntos, minha suspeita é que quando você redimensionou seu ESP, você tornou o gerenciador de inicialização do Ubuntu inacessível ao firmware, que então o excluiu do seu gerenciador de boot integrado. Redimensionar a partição de volta ao seu tamanho original pode ou não ter corrigido o problema de acesso, mas mesmo que o sistema de arquivos esteja acessível, com a entrada de inicialização baseada em NVRAM desativada, você não pode mais inicializar o gerenciador de inicialização - pelo menos não sem pular alguns aros extras, como usar o Super GRUB Disk.
Como primeiro passo para corrigir seu problema, recomendo que você execute dosfsck
(ou alguma ferramenta equivalente de outro sistema operacional) no ESP. Isso deve corrigir qualquer problema persistente no sistema de arquivos.
Feito isso, você precisa criar uma nova entrada NVRAM para a entrada de inicialização. A maneira menos intrusiva de fazer isso é usar efibootmgr
do Linux, bcfg
de um shell EFI, EasyUEFI ou bcdedit
do Windows ou alguma ferramenta semelhante. Desde que você pode iniciar o Ubuntu agora, o seguinte comando deve fazer o truque:
efibootmgr -c -d /dev/sda -p 1 -l \EFI\ubuntu\shimx64.efi -L ubuntu
Se você estiver inicializando com o Secure Boot desativado, poderá alterar shimx64.efi
para grubx64.efi
; no entanto, shimx64.efi
deve funcionar com ou sem o Secure Boot ativado, por isso é melhor usá-lo, a menos que não funcione. Observe também as barras duplas invertidas ( \
) como separadores de diretório; EFI usa barras invertidas no estilo DOS / Windows ( \
) em vez de barras do tipo Unix / Linux ( /
) como separadores de diretório, e as barras invertidas devem ser duplicadas ou colocadas entre aspas no Bash porque são usadas como escape personagens no Bash. (Ouvi dizer que as versões recentes do efibootmgr
podem converter barras em barras invertidas, mas não sei a versão em que essa alteração apareceu, portanto é mais seguro usar as barras invertidas duplicadas.)
Uma ressalva: Se o seu Disco Super GRUB estiver sendo inicializado no modo BIOS / CSM / legado, efibootmgr
não funcionará. Se isso for verdade, você precisará fazer o procedimento acima usando um disco de emergência do Linux inicializado no modo EFI / UEFI. Alternativamente, você pode usar meu gerenciador de inicialização do rEFInd no disco flash USB ou CD-R para inicializar o Ubuntu no modo EFI, então use efibootmgr
para reativar o GRUB.