segunda-feira, 5 de julho de 2010

Recuperação de Gerenciador de Boot GRUB 2

O problema: eu tinha um sistema operacional já instalado (Ubuntu 10.04) com GRUB 2 por default. Em seguida, instalei um Debian 5, o qual utiliza GRUB 1. A instalação Debian foi bem sucedida, bem como a do Grub 1. O problema é que o Grub 1 sobrepôs o grub 2, e ainda por cima não detectou a instalação do Ubuntu. O resultado desse evento é que ao dar boot, o Grub 1 inicializa, tendo como opção apenas o Debian.

A solução a seguir encontrada, serve para recuperar o gerenciador de Boot 2.

PROCEDIMENTOS:

1) Dar boot na máquina com um LiveCD Linux qualquer.

2) Fazer as seguintes montagens:
# mount /dev/sda2 /mnt/
(sda2 é o meu ponto de montagem do /; verifique o seu)

# mount /dev/sda1 /mnt/boot
(sda1 é o meu ponto de montagem do /boot; verifique o seu)

# mount --bind /dev /mnt/dev
(montando o /dev atual detectado no ambiente de chroot)

3) Fazer chroot para a nova montagem
# chroot /mnt

4) Editar o arquivo do GRUB 2 para que ele passe a mostrar as opções de boot.
# vi /etc/default/grub
Comente a linha: GRUB_HIDDEN_TIMEOUT=0

5) Execute a atualização e reinstalação do GRUB 2:
# update-grub
# grub-install /dev/sda

6) Se houver algum erro, pode-se utilizar a linha a seguir. (No meu caso não deu erro, então não sei se esta linha realmente funciona)
grub-install --recheck /dev/sda

Ctrl+D

7) Desmontar tudo o que foi montado:
# umount /mnt/dev
# umount /mnt/boot
# umount /mnt


Caso queira recuperar o GRUB 1, basta substituir o ítem 5 pelos comandos de atualização do Grub 1.