Consertando o GRUB

Como sempre ocorre, acabei ficando sem espaço em meu disco rígido. Resolvi então diminuir o espaço dado ao Windows no sistema (qualquer dia eu apago de vez, mas ainda quero jogar GP Legends…) usando o Ubuntu 6.10 LTS Live CD e o Gparted.

O melhor a fazer com o Gparted é realizar uma ação por vez. Diminui a partição em 10GB do Windows e criei uma nova no sistema de arquivos ext3 com o espaço criado. Reboot! Ops…

O sistema deixou de subir, mostrando uma mensagem de erro do GRUB bem elucidativa: ERROR

O fato é que com a movimentação nas partições, os números que as identificam também mudaram. Eu precisava então fazer algumas coisas:

  1. descobrir a nova numeração;
  2. atualizar o GRUB na MBR;
  3. atualizar o arquivo /boot/grub/menu.lst.

Solução: usar novamente o Ubuntu Live CD.

Após carregar o sistema do CD, abri um terminal e montei o sistema de arquivos da partição onde se encontrava o Linux, com o seguinte comando:

sudo mount -o dev /dev/sda5 /media
Isto monta a partição raiz do Linux do disco rígido no diretório /media. Eu soube que era /dev/sda5 através do Gparted.

Entrei no diretório /media e executei o GRUB, o que abriu seu próprio prompt, :

$>sudo grubgrub>

Neste prompt procurei então pela nova denominação da partição

grub>find /boot/grub/stage1
O que devolveu:

(hd0,4)
Ah ha! Agora é so consertar o GRUB, configurando corretamente em que partição se encontram seus binários e arquivos de configuração:

grub>root (hd0,4)
grub>setup (hd0)
grub>quit
Agora o sistema irá ligar e deixar de emitir o erro do GRUB, MAS…. Ainda falta atualizar o arquivo de listagem do boot. Executei então o comando:

$>sudo gedit /media/boot/grub/menu.lst
E troquei todas as instâncias em que estavam escritas (hd0,6) por (hd0,4), que é a nova numeração da partição.

E agora que consegui entrar no Ubuntu vou atualizá-lo para o Feisty Fawn! =)

Nota: o comando para saber o UUID de uma determinada partição é vol_id .