|
Por: Daniel da Silva O GRUB (GRand Unified Bootloader), assim como o LILO é um gerenciador de boot. Seu trabalho é carregar o kernel do Linux ou iniciar outros sistemas operacionais. Ele surgiu da necessidade de um gerenciador de boot livre e por isso foi criado sob o guarda-chuva do projeto GNU. Com o GRUB, você consegue iniciar vários sistemas diferentes, seja Linux, BSDs, Mac, entre outros. Como neste manual gostamos do Linux, vamos puxar mais o saco dele :)
O GRUB tem algumas diversas vantagens sobre o LILO e é por isso que a maioria das distribuições estão substituindo o LILO pelo uso do GRUB. Além do menu bonitinho para a escolha do sistema operacional, tecnicamente o GRUB tem algumas boas vantagens: * Ele acessa diretamente o sistema de arquivos e carrega o kernel através dele. Com isso você não precisa ficar re-instalando o gerenciador na MBR toda vez que fizer alguma alteração.
* Possui uma shell-interativa, ao estilo do bash, que permite o usuário a flexibilidade de controlar todo o gerenciador de boot como queira na inicialização. * Através do menu interativo de escolha do sistema operacional, você pode editar as linhas de boot já pré-definidas e alterar caso haja algum contra-tempo. * Permite colocar senha tanto para a edição da linha de boot de um sistema, quanto para iniciar este sistema. * Suporta boot remoto via o protocolo TFTP. Então com essas características legais e divertidas, eu aconselho utilizar o GRUB para gerenciar as suas versões de kernel do Linux :)
O arquivo de configuração do GRUB geralmente está fixo em um lugar, que é o /boot/grub/menu.lst. Muitas distribuições fazem um link para /etc/grub.conf, então editar os dois arquivos funcionam.
- Instalando o GRUB
Na maioria das vezes a distribuição quando é instalada, instala o GRUB como gerenciador de boot. Com o grub instalado na MBR do HD, não será mais preciso ficar re-instalando, como é o caso do LILO. Mas se é a primeira vez que você configurou o GRUB e está instalando, aí tudo bem. Se você usa alguma distribuição baseada no Debian (Kurumin,Ubuntu,Kubuntu,etc..), abra um terminal e digite:
sudo su apt-get update apt-get install grub Após baixar e instalar o grub, você deve criar um pasta para ele, no terminal digite:
mkdir /boot/grub Nessa pasta se localizará o Grub, agora digite no terminal:
update-grub Isso fará com que o Grub crie o arquivo menu.lst, é nesse arquivo que estão as configurações do Grub, agora é só edita-las. Para instalar na MBR do HD Master Primário:
# grub-install /dev/hda Se por acaso você quiser instalar em um disquete:
# grub-install /dev/fd0 Assim você terá um GRUB no disquete para quaisquer eventualidades :) Para desinstalar o GRUB da MBR, basta você instalar outra coisa por cima, LILO ou utilizando o comando fdisk \mbr no DOS/Windows. Dica: Para quem ainda não sabe como configurar corretamente o Grub, é altamente recomendado instalar apenas no Disquete, assim, se a sua configuração não funcionar, é só retirar o Disquete da unidade e reiniciar o computador! - Configurando o GrubA seguir, um exemplo de configuração para dois sistemas operacionais: Linux e Windows:
# Exemplo para dois sistemas Operacionais: Linux e Windows! # default=0 timeout=5 splashimage=(hd0,1)/boot/grub/splash.xpm.gz # Partição Linux title Fedora Core root (hd0,1) kernel /boot/vmlinuz-2.6.13-1.1532_FC4 ro root=/dev/hda1 vga=791 initrd /boot/initrd-2.6.13-1.1532_FC4.img # Partição Windows title Windows rootnoverify (hd1,0) chainloader +1 Exemplo de Arquivo de Configuração do GRUB
No exemplo acima, assim como no LILO temos duas partes: uma global com as configurações do funcionamento geral do GRUB e uma parte com as definições dos sistemas.
Na seção global, podemos definir muitas coisas como senhas, imagem do menu, cores, entre outros. Antes de mais nada, é preciso notar que o GRUB trata as partições de um modo diferente que o Linux.
Por exemplo, ao invés de /dev/hda1 ele usa (hd0,0). Veja a tabela abaixo:
Dispositivo Equivalente no GRUB /dev/hda1 (hd0,0) - Partição 1 da IDE Primária Master /dev/hda2 (hd0,1) - Partição 2 da IDE Primária Master /dev/hdb1 (hd1,0) - Partição 1 da IDE Primária Slave /dev/hdc3 (hd2,2) - Partição 3 da IDE Secundária Master /dev/hdd2 (hd3,2) - Partição 2 da IDE Secundária Slave Comparação de dispositivos para o GRUB
O GRUB detecta e identifica seus HDs automaticamente, fazendo a conversão mostrada acima.
Caso você tenha dúvidas quanto à essa equivalência, utilize o seguinte comando para verificar:
# cat /boot/grub/device.map Agora vamos ver com detalhes das partes de configuração do GRUB! Seção de configuração global default=0
Qual o sistema será iniciado por padrão caso o usuário não escolha nenhum outro.
Serve junto com a opção timeout para quando o usuário não fazer nada, ele inicie no sistema padrão. Caso nada seja especificado, o primeiro sistema (número 0) será o padrão. timeout=5
A quantidade de segundos que o GRUB vai esperar o usuário apertar alguma tecla antes de iniciar no sistema padrão definido pela opção default.
password --md5 $1$QWqsC1$Gtat14yn8l2fy6wUogC080
Configura a senha do GRUB criptografada em MD5. Faz com que o usuário tenha que digitar uma senha antes de poder editar algum dos itens do menu.
Combinada com a opção lock na configuração das partições, faz com que o usuário só consiga iniciar o sistema digitando a senha. OBS: Para gerar esses caracteres malucos criptografados é simples, basta executar o comando grub como root e na shell dele digitar: grub> md5crypt Password: ***** Encrypted: $1$QWqsC1$Gtat14yn8l2fy6wUogC080
Então digitando a senha, o programa vai gerar os caracteres malucos e você pode copiar e colar no seu arquivo de configuração como explicado :) splashimage=(hd0,1)/boot/grub/splash.xpm.gz
A imagem de fundo para o menu de escolha do sistema. No exemplo está indicando uma imagem no diretório /boot/grub/ em formato .xpm.gz (XPM GZipado).
Você pode usar uma imagem de fundo, ou cores. hiddenmenu
Se colocado, o GRUB não mostrará um menu interativo e vai iniciar o sistema padrão depois de X segundos (especificado na opção timeout).
Se você quiser acessar o menu mesmo assim, terá que apertar Esc para mostrar o menu. color frente/fundo [frente/fundo]
Com essa opção você especifica cores para os planos de frente e fundo do menu do GRUB.
As cores são especificadas pelos seus nomes em inglês: black, blue, green, cyan, red, magenta, brown and light-gray; dark-gray, light-blue, light-green, light-cyan, light-cyan, light-red, light-magenta, yellow e white. O segundo argumento funciona da mesma maneira que o primeiro, mas apenas para os itens que estiverem selecionados no menu (que você seleciona com as setas do teclado). Seção de configuração de partições
Aqui você vai colocar as partições/sistemas que vai querer bootar.
Cada conjunto de linhas corresponde à um sistema diferente (veja no exemplo anterior :)). Vejamos aqui os parâmetros para a partição Linux que definimos: title Fedora Core
Aqui é o título que vai aparecer no menu. No nosso exemplo usamos o "Fedora Core", mas pode ser qualquer outra coisa!
root (hd0,1)
A partição em que seu root se encontra. Lembrando que essa partição tem que ser onde está o /boot, que é onde fica a imagem do kernel.
kernel /boot/vmlinuz-2.6.13-1.1532_FC4 ro root=/dev/hda1 vga=791 O caminho do kernel para fazer o boot, junto com as opções do kernel. Aqui você vai usar a mesma coisa que no LILO por exemplo :)
initrd /boot/initrd-2.6.13-1.1532_FC4.img
Onde se encontra o arquivo initrd do kernel atual. O initrd contém módulos e informações iniciais para o sistema poder iniciar.
Ele é carregado um pouco depois do kernel. lock (não-especificado no exemplo)
Com a opção lock, você faz com que o usuário tenha que digitar uma senha antes de iniciar o sistema.
Combine esta opção com o parâmetro global password, explicado anteriormente. OBS:Se for usar o parâmetro lock, use-o logo após a linha do parâmetro title, pois só assim todas as opções de início são bloqueadas. Estas foram as opções para uma partição Linux.
Se você quiser colocar uma Windows (como no exemplo que usei anteriormente), você só terá que substituir algumas coisinhas, como veremos a seguir: title Windows
Mesma coisa que anteriormente, é o título, que no caso agora vai ser Windows :(
rootnoverify (hd1,0)
Especifica a partição root do sistema, mas ao contrário da opção root, não monta a partição.
Como o boot do Windows é direto e não precisa ser carregado um kernel pelo GRUB (ele tem seu próprio carregador), então é necessário não montar a partição do Windows. chainloader +1
Carrega a partição chamando um outro gerenciador de boot, que é o caso do próprio do Windows.
E assim com essas opções, você pode ir montando o seu menu de inicialização do GRUB como quiser! :)
Mega-exemplo
Vou apresentar um arquivo de configuração para 4 sistemas diferentes, com senha e tudo mais :)
# Arquivo exemplo de configuração do GRUB # Seção de parâmetros globais do GRUB
default=0 timeout=10 # password boboalegre password --md5 $1$H35tC1$l45i5oNTY0UaNxZ8TjylF. # Seção de partições do GRUB
# Slackware Linux usando kernel 2.2.16
title Slackware Linux (Kernel 2.2.16) root (hd0,0) kernel /boot/vmlinuz-2.2.16 ro root=/dev/hda1 # Conectiva Linux 5.1 usando kernel 2.2.17
title Conectiva Linux 5.1 (Kernel 2.2.17) root (hd0,1) kernel /boot/vmlinuz-2.2.17 ro root=/dev/hda2 initrd /boot/initrd-2.2.17.img # Conectiva Linux 5.1 usando kernel 2.2.16-cl6
title Conectiva Linux 5.1 (Kernel 2.2.16-cl6) root (hd0,1) kernel /boot/vmlinuz-2.2.16-cl6 ro root=/dev/hda2 initrd /boot/initrd-2.2.16-cl6.img # Debian 2.2 usando kernel 2.2.17
title Debian 2.2 (Kernel 2.2.17) root (hd1,0) kernel /boot/vmlinuz-2.2.17 ro root=/dev/hdb1 initrd /boot/initrd.img-2.2.17 # Debian 2.2 usando kernel 2.2.18
title Debian 2.2 (Kernel 2.2.18) root (hd1,0) kernel /boot/vmlinuz-2.2.18 ro root=/dev/hdb1 initrd /boot/initrd.img-2.2.18 # Ruindows e Nojenta e Oitxo
title Ruindows e Nojenta e Oitxo rootnoverify (hd2,0) chainloader +1 # Fim do exemplo de configuração do GRUB
Use o GRUB e seja feliz :D
|