Configurando o grub

Muitas distribuições permitem que você escolha entre usar o lilo ou o grub durante a instalação. Outras simplesmente usam um dos dois por padrão. De uma forma geral, o grub oferece mais opções que o lilo e inclui um utilitário, o update-grub que gera um arquivo de configuração básico automaticamente. Por outro lado, a sintaxe do arquivo de configuração do grub é mais complexa o que o torna bem mais difícil de editar manualmente que o do lilo. O grub inclui ainda um prompt de comando, novamente nenhum exemplo de amigabilidade.

De resto, os dois possuem a mesma e essencial função. Sem o gerenciador de boot o sistema simplesmente não dá boot :-).

O grub usa o arquivo de configuração “/boot/grub/menu.lst”. Este arquivo é lido a cada boot, por isso não é necessário reinstalar o grub ao fazer alterações, como no caso do lilo.

Para entender melhor como o grub funciona, vamos a um exemplo de como instalá-lo no Kurumin, substituindo o lilo que é usado por padrão. Estes mesmos passos podem ser usados em outras distribuições derivadas do Debian, que utilizem o lilo.

Em primeiro lugar, você precisa instalar o pacote do grub via apt-get. Ele não possui dependências externas, inclui apenas os executáveis principais. Você pode até mesmo arriscar compilar a versão mais recente, baixada no site do projeto.

# apt-get install grub

Depois de instalar, crie a pasta “/boot/grub/” e use o “update-grub” para gerar o arquivo “menu.lst“. Basta responder “y” na pergunta e o arquivo é gerado automaticamente:

# mkdir /boot/grub
# update-grub

Testing for an existing GRUB menu.list file…
Could not find /boot/grub/menu.lst file. Would you like /boot/grub/menu.lst generated for you? (y/N) y

Searching for splash image… none found, skipping…
Found kernel: /boot/vmlinuz-2.6.15
Found kernel: /boot/memtest86.bin
Updating /boot/grub/menu.lst … done

Agora só falta instalar o grub na MBR usando o comando:

# grub-install /dev/hda

Ao gravar o grub, ele naturalmente substitui o lilo ou qualquer outro gerenciador de boot que esteja sendo usado.

Se você mudar de idéia mais tarde e quiser regravar o lilo, subscrevendo o grub, basta chamá-lo novamente:

# lilo

Assim como no caso do lilo, o arquivo de configuração do grub inclui uma seção separada para cada sistema que aparece no menu de boot. O update-grub não é muito eficiente em detectar outros sistemas instalados, por isso, depois de gerar o arquivo você ainda precisará adicionar as linhas referentes a eles no final do arquivo “/boot/grub/menu.lst”.

Para que o grub inicialize uma cópia do Windows, instalada na primeira partição, /dev/hda1, adicione as linhas:

title Windows
rootnoverify (hd0,0)
chainloader +1

Elas equivalem à opção “other=/dev/hda1” que seria usada no arquivo do lilo. A linha “title” contém apenas a legenda que é mostrada no menu de boot. O que interessa mesmo é a linha rootnoverify (hd0,0), que indica o HD e a partição onde o outro sistema está instalado. O primeiro número indica o HD e o segundo a partição dentro deste. Na nomenclatura adotada pelo grub temos:

/dev/hda = 0
/dev/hdb = 1
/dev/hdc = 2
/dev/hdd = 3

As partições dentro de cada HD são também nomeadas a partir do zero:

/dev/hda1 = 0,0
/dev/hda2 = 0,1
/dev/hda3 = 0,2
/dev/hda4 = 0,3
/dev/hda5 = 0,4
/dev/hda6 = 0,5
etc…

Se você quisesse que o grub iniciasse também uma instalação do Mandriva no /dev/hda3, cujo lilo (ou grub) foi instalado na partição, adicionaria as linhas:

title Mandriva
rootnoverify (hd0,2)
chainloader +1

A linha “chainloader +1” especifica que o grub vai apenas chamar o gerenciador de boot instalado na partição e deixar que ele carregue o outro sistema, assim como fizemos ao editar o arquivo do lilo.

No caso de outras distribuições Linux, instaladas no mesmo HD, você pode usar o grub para carregar diretamente o outro sistema, sem precisar passar pelo outro gerenciador de boot. Neste caso você usaria as linhas:

title Mandriva
root (hd0,2)
kernel /boot/vmlinuz-2.6.8 root=/dev/hda3 ro
savedefault
boot

Veja que neste caso você precisa especificar a localização do executável do Kernel dentro da partição. Você pode especificar também opções para o Kernel e usar um arquivo initrd, se necessário, como neste segundo exemplo:

title Mandriva
root (hd0,2)
kernel /boot/vmlinuz-2.6.8 root=/dev/hda3 ro vga=791 acpi=off splash=verbose
initrd /boot/initrd.gz
savedefault
boot

Assim como no caso do lilo, você pode usar um CD do Kurumin ou Knoppix para reinstalar o grub, caso ele seja subscrito por uma instalação do Windows ou outra distribuição Linux.

Para isso, depois de dar boot pelo CD, você só precisa montar a partição onde o sistema está instalado, como em:

# mount -t reiserfs /dev/hda2 /mnt/hda2

E usar o chroot para obter o prompt de comando do sistema que está recuperando:

# chroot /mnt/hda2

No prompt, você precisa editar o arquivo “/boot/grub/menu.lst“, ou gerá-lo novamente usando o comando “update-grub” e reinstalar o grub, usando o comando:

# grub-install /dev/hda

Você pode também editar as opções básicas do grub usando o grubconf, um utilitário gráfico, disponível em várias distribuições e também via apt-get:

Sobre o Autor

Redes Sociais:

Deixe seu comentário

X