Tutorial de Reinstalação/Recuperação do GRUB

Este tutorial tem por objetivo ajudar a reinstalar o gerenciador de inicialização GRUB, que por algum motivo o mesmo tenha sido desinstalado, seja por reinstalação do Windows ou outro motivo. Lembrando que esse tutorial funcina em distros baseadas em Debian, para outras distribuições pode haver mudanças no processo.

Rode um Live CD do qualquer versão do GNU/Linux baseada em Debian, abra o terminal e torne-se super usuário com o comando:

sudo su

Primeiro temos que localizar o disco em que está instalado o Linux em seu computador, para isso usamos o comando:

fdisk -l

Se os sistemas estiverem instalados em Legacy, esse comando deve mostrar algo parecido com a tela da Figura 1, se eles estiverem instalados em UEFI esse comando deve mostrar algo parecido com a tela da Figura 2.

Figura 1 – Lista de Discos e Partições no modo Legacy

Figura 2 – Lista de Discos e Partições no modo UEFI

Observe que na Figura 1 a linha destacada com um * indica o primeiro disco em que o Linux está instalado, neste caso o /dev/sda1, veja pelo Tipo na 8ª coluna, neste caso há dois sistemas Linux instalados, neste caso sempre pegue o primeiro que aparece na lista, então deve ser usada a partição /dev/sda1 para fazer a instalação do GRUB.

Na Figura 2 não são apresentadas tantas colunas com detalhes, para saber qual partição usar siga a Tipo e procure pela partição do sistema Linux, neste caso com dois sistemas Linux instalados, escolha o que preferir, a ordem de apresentação será de acordo com a instalação que foi feita. Neste caso pode ser escolhida a partição /dev/sda6 ou a /dev/sda8

Caso o Computador esteja usando o modo UEFI e esteja iniciando somente no Windows, após a sua reinstalação ou atualização, verifique se na BIOS o Linux está definido como opção primária de boot, pois se o Windows estiver como primeira opção, o GRUB não será inicializado e os passos a seguir não resolverão o problema

Restauração do GRUB

Agora vamos montar a partição escolhida anteriormente, tanto no modo Legacy quanto no modo UEFI, na pasta mnt com o seguinte comando:

mount /dev/sda* /mnt

O * tem que ser substituído pelo numero do disco que foi verificado no passo anterior, nesse caso será o 6, pois /dev/sda6 é o disco desejado.

Se não aparecer nenhum aviso é porque está tudo certo. Agora vamos montar as pastas dev e proc com os seguintes comandos:

mount --bind /dev /mnt/dev

mount --bind /proc /mnt/proc

Novamente, se foi apresentada nenhuma mensagem de erro, siga em frente. Entre na pasta mnt como root com o comando:

chroot /mnt

Vamos usar o comando abaixo para atualizar o grub:

update-grub

Agora instale o grub na raiz do disco:

grub-install /dev/sda

Se no final apareceu a seguinte mensagem o GRUB foi instalado com êxito.

Installation finished. No error reported.

Finalização e teste

Com todos os passos anteriores executados com sucesso, reinicie o computador, dando boot pelo disco, e verifique se o GRUB está funcionando. Caso não apareçam todos os seus sistemas operacionais, entre no Linux que aparecer, abra o terminal e de o comando:

sudo update-grub

Após a execução deste comando reinicie novamente e verifique o GRUB novamente, que agora deve estar apresentado todos os sistemas instalados.

9 Curtidas

É uma ótima matéria, mas nem sempre funciona assim dependendo da Distro. Seria melhor especificar a Distro e versão e se funciona em Distros filhos também.
Eu por exemplo tive um trabalho danado pra recuperar o GRUB EFI do Deepin, depois eu postei a experiência aqui.

Vou deixar o link, assim um complementa o outro:

1 Curtida

@elppans
Realmente, é importante destacar, coloquei um aviso no início. Esse tutorial é para distribuições baseadas em Debian, onde no Debian, Ubuntu e Linux Mint já realizei o procedimento. Obrigado por destacar isso.

3 Curtidas

Eu só trocaria o update-grub para o grub-mkconfig -o /boot/grub/grub.cfg, já que o update-grub é só um alias desse comando, e nem todas as distros aceitam esse comando

2 Curtidas