O GRUB, acrônimo de GRan Unified Bootloader, nada mais é do que um gerenciador de inicialização que nos permite selecionar o sistema operacional a ser iniciado, geralmente, alguma distribuição Linux e um Windows.
Neste post irei mostrar como reparar um GRUB com “defeito”.
Cenário:
Você possui uma máquina com Linux e Windows instalados e utiliza o GRUB para gerenciar o boot, por alguma razão, geralmente ao fazer um clone do disco (usando Ghost, G4L, PQDI entre outros) ao iniciar o sistema, ao invéz do bootloader carregar, simplesmente aparece a palavra GRUB e nada mais acontece.
Solução:
Mostro aqui uma das soluções possíveis, a solução que acho mais viável para a utilização em várias máquinas, sem acesso a drive de CD, e de um modo bem mais rápido =D
Evidentemente serão necessários alguns ajustes para cada tipo de ambiente, estou considerando aqui:
A máquina faz boot por USB (não precisava nem falar né? =D)
Somente 1 HD IDE como Primary Master com a seguinte estrutura de partições:
1 – Windows
2 – Linux
3 – Swap
Para isso você precisará de um pen-drive, pode ser de 32 MB mesmo ele não vai utilizar muito espaço mesmo, e uma máquina com qualquer distribuição Linux com o GRUB instalado.
Passo 1: Montar o pen-drive
# mkdir /mnt/usb
# mount /dev/sda1 /mnt/usb -t vfat
Passo 2: Copiar os arquivos do GRUB para o pen-drive
# mkdir -p /mnt/usb/boot/grub
# cp /boot/grub/* /mnt/usb/grub/.
Passo 3: Editar o arquivo /mnt/usb/boot/grub/menu.lst
Utilizando o editor de sua preferência (no meu caso o Vi – logo logo crio um post sobre ele) deixe o arquivo da seguinte maneira
(considere TODOS os ESPAÇOS!)
default=0
timeout=10title REPARAR
root (hd1,1)
setup (hd1)
Passo 4: Verificar o arquivo devices.map da máquina
Já trabalhei com distribuições onde o GRUB atualizava o /boot/grub/devices.map automáticamente, e em outras que não, logo peguei o costume de adicionar a linha na mão.
Verifique o conteúdo do arquivo
# cat /boot/grub/devices.map
A saída dele deve ser algo como:
(hd0) /dev/hda
Passo 5: Adicionar o /dev/sda para que seja possível instalar o GRUB no pen-drive
# echo (hd1) /dev/sda >> /boot/grub/devices.map
Passo 6: Instalar o GRUB no pen-drive (considere TODOS os ESPAÇOS!)
# grub
grub>root (hd1,0)
grub>setup (hd1)
A saída destes comandos será algo como:
Checking if “/grub/stage1″ exists……. yes
Checking if “/grub/stage2″ exists……. yes
.
.
.
succeded
Done
Digite para sair do grub:
grub>quit
Passo 7: Desmonte o pen-drive
# cd /
# umount /mnt/usb
Passo 8: Inicializar a máquina pelo pen-drive
Ao iniciar a máquina, deverá aparecer a tela do GRUB em modo texto, de um clique sobre o REPARAR, ele irá piscar a tela e voltar para o menu, retire o pen-drive, reinicie a máquina e veja o resultado! \o/
Qualquer dúvida sobre como adaptar isso tudo ai para um outro ambiente, deixe um comentário e logo irei responder!
Mais informações: Wiki Grub
Abraços!