De alguma forma, apaguei todas as opções de inicialização da minha BIOS (talvez causada por alguma operação usando o disco super-grub). Eu tentei consertar meu grub usando boot-repair live-usb. Depois de executar o reparo e a reinicialização recomendados, ainda não há opção de inicialização no BIOS e sou levado à tela de configuração do BIOS sempre que inicializo.
Informações completas sobre minha configuração sãoaqui.
A história toda começou quando descobri que meu Windows não consegue inicializar (erro de BCD quebrado). Então pensei que era um problema do grub, então usei o boot-repair no meu Linux e executei o reparo recomendado. Então descobri que também não consigo entrar no Linux, apenas deixei um prompt grub>. Então tentei o disco super-grub e o disco super-grub2 ao vivo. Então descobri que basicamente apaguei todas as minhas opções de inicialização no BIOS/uefi. Agora instalei outro Linux (kubuntu) na esperança de que a nova instalação pudesse consertar o grub, mas isso não aconteceu. Então, finalmente tentei o boot-repair live usb e executei o reparo recomendado, mas ainda sem sorte. Alguma ideia de como consertar isso?
Responder1
finalmente consertei com gdisk. não tenho certeza de qual é a etapa crucial, mas depois de fazer backup e restaurar o cabeçalho uefi e a tabela de partição, ao reiniciar meu linux tentará consertar o disco e não conseguirá montar a partição do sistema efi. Neste estágio, executar o gdisk a partir da linha de comando de resgate descobre automaticamente um sinalizador “ativo” incorreto associado à partição do sistema efi. Apenas deixá-lo consertar o sinalizador resolve o problema.
Não é um problema com o BIOS ou com o UEFI. Também tentei limpar a partição do sistema efi e reinstalar o Windows 10. No entanto, isso não ajudou.
Responder2
Se o seu único problema é que as opções de inicialização UEFI NVRAM (variáveis de inicialização) desaparecerem, você terá várias opções:
Se você puder inicializar a partir de uma mídia externa no modo UEFI:
- monte o sistema de arquivos raiz do seu sistema operacional, mount e
/proc
, em seguida, faça chroot nesse sistema de arquivos, monte a partição ESP e execute (supondo que seja o sistema de arquivos raiz da instalação do seu sistema operacional)/sys
/dev
grub-install
/dev/sdX
mount /dev/sdX /mnt
mount -t proc none /mnt/proc
mount --rbind /dev /mnt/dev
mount --rbind /sys /mnt/sys
chroot /mnt /bin/bash
mount /boot/efi
grub-install /dev/sdX
grub-install
irá gerar automaticamente a variável de inicialização UEFI para GRUB, mas requer que o efivarfs
sistema de arquivos virtual seja montado /sys/firmware/efi/efivars
e o sistema inicializado no modo UEFI.
- ou monte sua partição ESP sem fazer chroot e use
efibootmgr
para recriar manualmente suas opções de inicialização: (assumindo/dev/sdX1
que seja sua partição ESP)
mount /dev/sdX1 /boot/efi
ls /boot/efi/EFI # there should be a directory for each OS/distribution
efibootmgr -c -d /dev/sdX1 -L "Any label you want" -l \\EFI\\<distro name>\\shimx64.efi
# or ...\\grubx64.efi if Secure Boot disabled
- Se a inicialização segura estiver habilitada e a instalação do seu sistema operacional tiver o shim Secure Boot instalado, pode haver uma
grub-install
opção especial. Chroot como na primeira opção e execute:
grub-install --uefi-secure-boot /dev/sdX
Se a sua mídia externa só puder inicializar no modo BIOS herdado:
- Chroot como na primeira opção acima, mas use esta
grub-install
linha:
grub-install --target=x86_64-efi --force-extra-removable /dev/sdX
No modo legado, você pode receber uma mensagem de erro informando que não consegue acessar as variáveis de inicialização UEFI, mas pode ignorar isso por enquanto.
Isso instala uma segunda cópia do GRUB como [ESP mount path]/EFI/boot/bootx64.efi
, que é o local onde o firmware espera encontrar um bootloader de mídia removível/de fallback UEFI. Depois disso, o firmware deverá detectar a partição ESP como "inicializável no modo UEFI" e você poderá usar os menus de inicialização do BIOS para selecioná-la para inicialização. Como agora há apenas discos inicializáveis por UEFI presentes (após a remoção da mídia de inicialização externa), mesmo o firmware UEFI com preferência mais legado deve agora inicializar no modo UEFI.
Depois que o sistema for inicializado no modo UEFI, você poderá executar grub-install /dev/sdX
novamente para recriar a variável de inicialização UEFI padrão para o seu sistema operacional Linux.