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: 11.778 ]

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

Ícones na Área de Trabalho do KDE 4

Resolvendo problemas de autenticidade de pacotes

Instalação de drivers proprietários no Kubuntu

VirtualBox - Reduzindo tamanho de discos rígidos virtuais

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

Leitura recomendada

Compositing no Metacity - sombras e transparências reais sem placa 3D no Linux

Fontes feias no Arch Linux [RESOLVIDO]

Deepin sem Wi-Fi? [Resolvido]

Atalhos no teclado no LXDE (Openbox)

Radeon no XFree86 com suporte a aceleração

  

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