O local certo para se aprender Linux no Brasil, a sua fonte de artigos, dicas, tutoriais, noticias, howto, reviews e muito mais.

Configurar o grub - Gerenciador de Inicialização do Linux

Arquivado em Artigos <> Sistema
Configurar o grub - Gerenciador de Inicialização do Linux
Aprenda como configurar o GRUB, o Gerenciador de Inicialização do sistema operacional Linux mais utilizado no mundo.

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. A 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
Nota

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.Importante

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.
Importante

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 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 da configuração do GRUB


Mega-Exemplo Complexo Alienígena de configuração do GRUB

 

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 reinstalando, como é o caso do LILO. Mas se é a primeira vez que você configurou o GRUB e está instalando, aí tudo bem. 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.

Este texto é de autoria de Hugo Cisneiros

Envie seu comentário
 
 
Copyright © Sputnix.com.br, Seja Livre, Use Linux