Restaurando o GRUB após a instalação de outro sistema operacional

Publicado por Antônio Vinícius Menezes Medeiros em 03/11/2010

[ Hits: 12.061 ]

Blog: http://www.vinyanalista.com.br/

 


Restaurando o GRUB após a instalação de outro sistema operacional



No seu disco rígido estão instalados dois ou mais sistemas operacionais em dual boot? Na hora de instalar (ou reinstalar) um deles o menu de boot do GRUB sumiu? Veja nessa dica como recuperá-lo através de um LiveCD.

Os passos aqui apresentados foram executados em um computador com Windows 7 e Kubuntu 10.10 em dual boot com GRUB 2.0 instalado no disco rígido, mas os mesmos devem servir para outras distribuições Linux (como Ubuntu, por exemplo), mesmo que a versão do GRUB nelas instalada não seja a 2.0 (como Debian ou Kurumin). Para executá-los, você precisará iniciar um sistema Linux a partir de um LiveCD, que não precisa necessariamente ser da mesma distribuição instalada no computador. Após iniciá-lo, abra o terminal.

Primeiramente, devemos saber em qual partição do disco rígido está instalado o Linux. Se você não souber qual é a partição, este comando pode ajudá-lo:

# fdisk -l

Ele deve retornar informações sobre os discos e suas partições. No meu computador, ele retornou isto:

Disk /dev/sda: 320.1 GB, 320072933376 bytes
255 heads, 63 sectors/track, 38913 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xf05ada11

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1       13055   104857600    7  HPFS/NTFS
/dev/sda2           13055       32636   157286400    7  HPFS/NTFS
/dev/sda3           32636       38914    50425856   83  Linux

Como você pode ver, o Linux está instalado na partição /dev/sda3. Vou utilizá-la como exemplo. Nos comandos a seguir, lembre-se de substituir essa partição pela equivalente no seu computador. Prosseguindo, vamos montá-la:

# mkdir /mnt/sda3
# mount /dev/sda3 /mnt/sda3


Para que possamos "entrar" nela através do chroot, vamos "emprestar" alguns recursos do nosso sistema para o sistema nela instalado (observe que já fizemos isso em outro artigo publicado aqui no Viva o Linux). Faremos isso através dos comandos a seguir:

# mount --bind /dev /mnt/sda3/dev
# mount --bind /dev/pts /mnt/sda3/dev/pts
# mount --bind /proc /mnt/sda3/proc
# mount --bind /sys /mnt/sda3/sys


Finalmente, entramos no sistema que está instalado na partição:

# chroot /mnt/sda3

O comando a seguir é na verdade opcional, mas garante que a lista de sistemas operacionais oferecidos pelo GRUB na hora do boot esteja atualizada. Eu o executei aqui no meu computador.

# update-grub

Ele procura por sistemas operacionais no disco rígido, gera o arquivo de configuração do GRUB e retorna uma mensagem dizendo que a operação foi concluída com sucesso:

Generating grub.cfg ...
Found linux image: /boot/vmlinuz-2.6.35-22-generic
Found initrd image: /boot/initrd.img-2.6.35-22-generic
Found memtest86+ image: /boot/memtest86+.bin
Found Windows 7 (loader) on /dev/sda1
done


Podemos então finalmente instalar o GRUB no disco rígido. Para isso, execute o seguinte comando (lembre-se de substituir /dev/sda pelo seu disco rígido):

# grub-install /dev/sda

Se ele retornar a seguinte mensagem, tudo ocorreu perfeitamente:

Installation finished. No error reported.


Agora tudo o que temos que fazer é sair do sistema operacional instalado no disco rígido, desmontar as pastas que montamos anteriormente e reiniciar o computador. Tudo isso pode ser feito através dos seguintes comandos:

# exit
# umount /mnt/sda3/dev/pts
# umount /mnt/sda3/dev
# umount /mnt/sda3/proc
# umount /mnt/sda3/sys
# umount /mnt/sda3 # reboot


Há outra solução ainda mais prática apresentada na wiki do Ubuntu, que não abordarei aqui por não ter testado a execução desses comandos nem saber sua compatibilidade com as distribuições anteriormente citadas. No entanto, amostro a seguir quais seriam os comandos que provavelmente eu usaria no meu computador para restaurar o GRUB, segundo essa solução.

# mount /dev/sda3 /mnt/sda3
# grub-install -root-directory=/mnt/sda3/ /dev/sda3
# update-grub
# reboot


Um abraço a todos e até a próxima.

Fontes:
Essa dica foi publicada originalmente no meu blog: http://avmlinux.blogspot.com/2010/10/restaurando-grub.html

Antônio Vinícius

Outras dicas deste autor

Resolvendo problemas de autenticidade de pacotes

Instalação de drivers proprietários no Kubuntu

Ícones na Área de Trabalho do KDE 4

Reduzindo o tamanho dos executáveis gerados pelo Lazarus (via IDE)

VirtualBox - Reduzindo tamanho de discos rígidos virtuais

Leitura recomendada

Livro sobre Administração de Servidores Linux

GPU - CUDA 5 na plataforma openSUSE 12.3

Ingressando o Windows 7 no domínio PDC SAMBA

Gerenciando pacotes no Linux - checkinstall

Configuração do Mozilla e Firefox para acesso ao site da Serpro

  

Comentários
[1] Comentário enviado por fariax em 28/04/2011 - 16:51h

Perfeito, depois de horas tentando achar uma solução, consegui!
Não é tão facil migrar de um SO proprietário para o Linux e de cara enfrentar problemas como esse...
Muito obrigado, artigo muito bem explicado, parabéns!

Abraços



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts