Como restaurar ou recuperar o GRUB do openSUSE

Aprenda, neste tutorial, a recuperar facilmente o GRUB do openSUSE em computadores com ou sem UEFI, utilizando a mídia de instalação do mesmo.

 Apesar de que o número de usuários do Linux é muito menor em relação aos usuários do Windows, a cada dia que passa o Linux vem sendo utilizado por mais e mais pessoas.
 Hoje em dia é bem comum ver pessoas utilizando o Windows em dual boot com alguma distribuição Linux nos seus computadores, e ao realizar a instalação do openSUSE, o GRUB (GRand Unifield Bootloader), que é o gerenciador de boot padrão utilizado pela maioria das distribuições Linux, substitui o gerenciador de boot do sistema da Microsoft, através dele é que podemos escolher qual sistema operacional iniciar ao ligar o computador.

 Se você pretende instalar ou tem que reinstalar o Windows (uma tarefa quase que rotineira rs) e já tem alguma distro Linux instalada no seu disco rígido, o carregador de inicialização do mesmo irá apagar o GRUB da MBR, com isso, você terá acesso apenas ao Windows, não terá mais a opção de iniciar e utilizar o Linux. :(

 Além disso, uma instalação ou atualização mal sucedida de Kernel no Linux poderá causar problemas no GRUB, e o resultado será semelhante a esta tela abaixo quando reiniciar o computador:

Tela de recuperação do GRUB (grub rescue)

 Caso esteja passando por uma situação dessa, abaixo vou mostrar como recuperar o GRUB do openSUSE, tanto em computadores mais "antigos" com BIOS quanto os mais recentes, equipados com UEFI. Vamos lá?!


 Mas antes, você deve ter em mãos a mídia de instalação do openSUSE, seja o DVD completo (com mais de 4 GB - recomendado) ou a mídia de instalação via rede (que, como o próprio nome diz, deverá ter acesso à internet para o download dos arquivos necessários). Caso não possua o DVD nem a mídia de instalação via rede, baixe um deles no site oficial, acesse:

  https://software.opensuse.org/

 Após baixar a ISO do openSUSE, verifique se a mesma não está corrompida, veja como fazer isso através do Windows acessando:

  http://www.blogopcaolinux.com.br/p/verificar-md5-sha-no-windows.html

Ou em alguma distribuição Linux:

  http://www.blogopcaolinux.com.br/2016/11/verificar-md5-sha256-de-arquivos-terminal-linux.html


 A ISO baixada está íntegra? Então é hora de gravá-la num DVD ou pen drive, veja como fazer isso no Windows, acesse:

  http://www.blogopcaolinux.com.br/p/verificar-md5-sha-no-windows.html

 Numa distro Linux:

  http://www.blogopcaolinux.com.br/2016/11/Como-gravar-uma-imagem-ISO-num-CD-ou-DVD-no-Linux.html


 Feito isso, você deve configurar o Setup do seu computador para dar boot pelo DVD ou pen drive criado anteriormente. Para aprender a realizar esse procedimento, recomendo que assista um dos tutoriais abaixo:

  https://www.youtube.com/watch?v=rpPuSqt0It0 (canal "Tutoriais para Tudo" - YouTube)

  https://www.youtube.com/watch?v=QWWYvG6YvGU (canal "Sayro Digital" - YouTube)


Tudo pronto? Então vamos para a recuperação do GRUB!



Recuperando o GRUB do openSUSE (para computadores equipados com BIOS)



 Após dar boot com o DVD ou pen drive bootável do openSUSE, aparecerá uma tela semelhante a esta abaixo. Com a tecla direcional para baixo selecione a opção "More..." e tecle Enter :

Na tela de boot, selecione "More" e tecle "Enter" para prosseguir

 Depois, selecione a opção "Rescue System" e tecle Enter para iniciar o modo de recuperação do sistema:

Selecione "Rescue System" e pressione "Enter"

 Após o carregamento do sistema você deverá escolher o layout do seu teclado com as teclas direcionais, que no meu caso é o "Português Brasileiro"; feito isso, pressione Enter :

Selecione o mapa/layout do seu teclado e tecle "Enter" para continuar

 Assim que aparecer na tela "rescue login", tecle root e pressione Enter :

Assim que aparecer "rescue login" na tela, tecle "root" e pressione "Enter"

 Após, digite:

fdisk -l

 Para listar todas as partições presentes no seu HD. Você deve identificar qual a partição onde está instalado o openSUSE (partição raiz), que, no meu caso, é a sda2, como mostrado na imagem abaixo:

Saída do comando "fdisk -l" mostrando todas as partições do meu HD

      ---   ATENÇÃO   ---      

Caso queira descobrir o sistema de arquivos das partições presentes no seu HD (não exibido pelo comando fdisk -l), basta executar o comando:

parted -l

Com isso, ele irá listar todas as partições e os seus respectivos sistemas de arquivos, facilitando assim a identificação das mesmas.

* Lembrando que o sistema de arquivos do Windows é NTFS, já no Linux, os mais comuns são o Ext4 e o BtrFS.








 Identificada a partição onde o seu openSUSE está instalado, monte-a com o comando:

mount /dev/sdxY /mnt

* Substitua o "x" pela letra correspondente ao seu disco rígido e o "Y" pelo número da sua partição.

 Exemplo:

####### EXEMPLO #######
# mount /dev/sda2 /mnt

      ---   ATENÇÃO   ---      

Caso tenha uma partição de /boot separada, você também deverá identificá-la e montá-la em /mnt/boot, para isso, basta executar:

mount /dev/sdxY /mnt/boot

* Como explicado anteriormente, basta substituir o "x" (do comando acima) pela letra correspondente ao seu disco rígido e o "Y" pelo número da sua partição /boot, ok?

 Em seguida, monte os diretórios necessários com os comandos abaixo (um por vez):

mount -o bind /proc /mnt/proc
mount -o bind /dev /mnt/dev
mount -o bind /sys /mnt/sys

 E faça chroot com:

chroot /mnt

 Como mostrado na imagem abaixo:

Exemplo de saída dos comandos de montagem da partição raiz e pastas, além do "chroot"

 Crie um novo arquivo de configuração do GRUB executando:

grub2-mkconfig -o /boot/grub2/grub.cfg

Exemplo de saída do comando "grub2-mkconfig -o /boot/grub2/grub.cfg"

 E instale o GRUB no seu disco rígido com:

grub2-install /dev/sdx
* Troque o "x" pela letra correspondente ao seu disco rígido, que no meu caso é sda.

 Exemplo:

######## EXEMPLO ########
# grub2-install /dev/sda

Exemplo de saída do comando "grub2-install /dev/sda"

 Saia do chroot com:

exit

 E reinicie o seu computador:

reboot

 Após, o GRUB voltará a aparecer e você poderá escolher qual sistema operacional iniciar! No meu caso, tenho o openSUSE e o Ubuntu instalados no HD:

Tela do GRUB, listando o openSUSE Leap e o Ubuntu

 Fácil, não é?! Mas se o seu computador/notebook tem EFI/UEFI, você deverá seguir os passos a seguir.



Recuperando o GRUB do openSUSE (em computadores equipados com UEFI)



 Após dar boot com o DVD ou pen drive bootável do openSUSE, aparecerá uma tela semelhante a esta abaixo. Com a tecla direcional para baixo selecione a opção "More..." e tecle Enter :

Na tela de boot, selecione "More" e tecle "Enter"

 Depois, selecione a opção "Rescue System" e tecle Enter para iniciar o modo de recuperação do sistema:

Selecione "Rescue System" e tecle "Enter"

 Aguarde enquanto o sistema de recuperação será iniciado. Após, escolha o layout do seu teclado com as teclas direcionais, que no meu caso é o "Português Brasileiro". Feito isso, pressione Enter :

Selecione o mapa/layout do seu teclado e tecle "Enter"

 Assim que aparecer "rescue login" na tela, tecle root e pressione Enter em seguida, como mostrado na imagem abaixo:

Quando aparecer "rescue login" na tela, tecle "root" e pressione "Enter"

 Após, digite:

fdisk -l

 Para listar todas as partições presentes no seu disco rígido. Você deverá identificar qual a partição onde o openSUSE está instalado ( que no meu caso é a sda5 ) e também a Partição do Sistema EFI ( identificada como "EFI System", que no meu caso é a sda2 ), como mostrado no exemplo abaixo:

Saída do comando "fdisk -l" mostrando as partições presentes no meu HD

      ---   ATENÇÃO   ---      

Caso queira descobrir o sistema de arquivos das partições presentes no seu HD (não exibido pelo comando fdisk -l), basta executar o comando:

parted -l

Com isso, ele irá listar todas as partições e os seus respectivos sistemas de arquivos, facilitando assim a identificação das mesmas.

* Lembrando que o sistema de arquivos do Windows é NTFS, já no Linux, os mais comuns são o Ext4 e o BtrFS;
** O sistema de arquivos da Partição do Sistema EFI (ESP) é FAT32.

 Identificada a partição onde o seu openSUSE está instalado, monte-a com:

mount /dev/sdxY /mnt
* Substitua o "x" (do comando acima) pela letra correspondente ao seu disco rígido e o "Y" pelo número da sua partição, que no MEU CASO é a sda5.

 Exemplo:

####### EXEMPLO #######
# mount /dev/sda5 /mnt

 Monte também a partição EFI System presente no seu HD, execute:

mount /dev/sdxY /mnt/boot/efi
* Substitua o "x" (do comando acima) pela letra correspondente ao seu disco rígido e o "Y" pelo número da sua partição EFI System, que no MEU CASO é a sda2.

 Exemplo:

########### EXEMPLO ###########
# mount /dev/sda2 /mnt/boot/efi

 Em seguida, monte os diretórios necessários com os comandos abaixo (um por vez):

mount -o bind /proc /mnt/proc
mount -o bind /dev /mnt/dev
mount -o bind /sys /mnt/sys

 E faça chroot com:

chroot /mnt

 Como mostrado na imagem abaixo:

Exemplo dos comandos de montagem das partições e pastas, além do "chroot"

 Crie um novo arquivo de configuração do GRUB executando:

grub2-mkconfig -o /boot/grub2/grub.cfg

Exemplo de saída do comando "grub2-mkconfig -o /boot/grub2/grub.cfg"

 E instale o GRUB no seu disco rígido com:

grub2-install --recheck /dev/sdx

* Troque o "x" pela letra correspondente ao seu disco rígido, que no meu caso é sda.

 Exemplo:

############# EXEMPLO #############
# grub2-install --recheck /dev/sda

Exemplo de saída do comando "grub2-install --recheck /dev/sda"

 Caso o Secure Boot esteja habilitado no Setup do seu computador, execute também o comando abaixo:

shim-install

Exemplo de saída do comando "shim-install"

 Feito isso, saia do chroot com:

exit

 E reinicie o seu computador, basta executar:

reboot

 Após reiniciar, você verá a tela do GRUB com apenas o openSUSE listado. Caso tenha apenas o openSUSE no seu computador, não é necessário realizar mais nada, o GRUB foi restaurado com sucesso! \o/

 Mas se há outro(s) sistema(s) operacional(is) (além do openSUSE) instalado(s) no HD, não se desespere, vamos "corrigir" isso agora, ok?
 Deixe selecionado o openSUSE no GRUB e inicie-o normalmente:

Tela do GRUB listando apenas o openSUSE

 Procure por YaST no Menu de Aplicativos e abra-o em seguida (será necessário fornecer a sua senha de root):

Abra o YaST procurando-o no menu de aplicativos

 Na tela inicial do YaST, clique sobre a opção "Carregador de inicialização", como mostrado na imagem abaixo:

Clique em "Carregador de inicialização"

 Na janela do Carregador de inicialização, clique apenas em "OK" (somente altere outras opções disponíveis caso tenha certeza do que está fazendo):

Na etapa seguinte, clique apenas em "OK"

 Feito isso, após reiniciar, os outros sistemas operacionais presentes no seu disco rígido serão listados no GRUB. No meu caso, tenho apenas o openSUSE Leap e o Windows 10 instalados no HD:

Tela do GRUB mostrando o openSUSE Leap e o Windows como opções


"Fiz tudo o que foi dito, mas agora só consigo utilizar o Windows, não aparece a tela do GRUB com as opções de qual sistema operacional iniciar, o que fazer??"

 Bom, se este é o seu caso (e o Secure Boot está habilitado no Setup), basta realizar uma pequena modificação no Windows, fazendo com que o gerenciador de inicialização do openSUSE (no caso, o GRUB) seja "carregado" toda vez que iniciar/reiniciar o computador, vamos lá?!

 Faça login no Windows normalmente, depois, digite "cmd" (sem aspas) no menu iniciar, clique com o botão direito do mouse sobre o "Prompt de Comando" e selecione a opção "Executar como administrador" (EXEMPLO).
 Com a janela do Prompt de Comando aberta, digite o comando abaixo (caso o Secure Boot esteja habilitado no Setup do seu computador):

bcdedit /set {bootmgr} path \EFI\opensuse\shim.efi

 E tecle Enter :

Tela do Prompt de Comando, no Windows

 Com isso, ao reiniciar o seu computador o GRUB voltará a aparecer! Boa sorte!!


 Caso tenha alguma dúvida, sugestão ou crítica a respeito deste tutorial, basta deixar o seu comentário logo abaixo (se não aparecer a sessão de comentários do Disqus, recarregue a página), ou se preferir, entre em contato conosco!

 Aproveite e cadastre-se para receber todas as novidades do blog Opção Linux no seu e-mail, ou siga-nos no Google+, no Twitter ou na nossa página no Facebook! :)

 Muito obrigado pela visita e até o próximo tutorial!


Referências:


Postar um comentário

Participe e deixe seu comentário!