Você está na página 1de 6

O gerenciador de boot GRUB

Introduo Gerenciadores de boot so softwares capazes de iniciar o processo de carregamento de sistemas operacionais em um computador. Por diversas razes, comum encontrar mquinas que possuem mais de um sistema operacional instalado. Nestes casos, os gerenciadores de boot tm papel importantssimo, pois cabe a eles a tarefa de permitir ao usurio o carregamento de um ou outro sistema. Este artigo apresentar e abordar as principais caractersticas do GRUB, um gerenciador de boot cada vez mais usado, principalmente em instalaes que envolvem o Linux. O GRUB GRUB a sigla para GRand Unifield Bootloader. Trata-se de um gerenciador de boot desenvolvido inicialmente por Erich Stefan Boleyn, disponibilizado como software GNU. Entre seus principais recursos est a capacidade de trabalhar com diversos sistemas operacionais, como o Linux, o Windows e as verses BSD, e seu conseqentemente suporte a vrios sistemas de arquivos, como o ext2, ext3, reiserfs, FAT, FFS, entre outros. Um dos motivos mais bvios para o GRUB ser usado sua capacidade de permitir que o usurio escolha um dos sistemas operacionais instalados em seu computador. Em outras palavras, o GRUB capaz de trabalhar com "multiboot". Alm disso, esse gerenciador tambm capaz de "bootar" sistemas em discos SCSI ou mesmo carreglos atravs de imagens disponveis em rede. Instalao do GRUB Muitas distribuies Linux permitem a adio do GRUB no computador durante a instalao do sistema. No entanto, se voc j tem o Linux instalado em sua mquina, a instalao do GRUB no complicada (e geralmente deve ser feita atravs de um usurio com privilgios de administrador). Supondo que seu sistema conte com o recurso apt-get, d o seguinte comando: apt-get install grub Quando esse processo for concludo, crie uma pasta de nome grub em /boot e, em seguida, d o comando update-grub para que o arquivo menu.lst seja criado: mkdir /boot/grub update-grub Feito isso, adicione o grub ao MBR (Master Boot Record) atravs do seguinte comando (esteja ciente de que o contedo da MBR ser apagado caso haja algo j instalado, por exemplo, o LILO): grub-install /dev/hda

Uma alternativa: o pacote de instalao do GRUB tambm est disponvel no formato tar.gz em ftp://alpha.gnu.org/gnu/grub. Supondo que voc baixou o pacote grub0.97.tar.gz, sua instalao feita da seguinte maneira: tar xzvf grub-0.97.tar.gz Depois, entre no diretrio onde o pacote foi descompactado (neste exemplo, o grub0.97) e digite os comandos: ./configure make make install O prximo passo digitar grub em seu terminal e o comando a seguir: install (hd0,2)/boot/grub/stage1 (hd0) (hd0,2)/boot/grub/stage2 p (hd0,2)/boot/grub/menu.lst conveniente verificar no site oficial de sua distribuio ou at mesmo na documentao desta, orientaes sobre a instalao do GRUB, pois pode haver detalhes sobre esse gerenciador que mudam de acordo com a distribuio. Configurao do GRUB Geralmente, o GRUB faz uso do arquivo /boot/grub/menu.lst para definir e carregar sua configurao (um detalhe importante: dependendo da distribuio, o GRUB pode usar outro diretrio e outro nome de arquivo, como grub.conf ou menu.conf). Nele, a primeira coisa que chama a ateno sua forma de trabalhar com os discos rgidos do computador. Ao invs de referenciar esses dispositivos como /dev/hda1, /dev/hda2, etc, ele o faz atravs dos termos (hd0,0), (hd0,1) e assim por diante. Observe a tabela abaixo para um melhor entendimento: Padro GRUB /dev/hda1 (hd0,0) /dev/hda2 (hd0,1) /dev/hdb1 (hd1,0) /dev/hdb2 (hd1,1) O GRUB chama o HD principal do computador de hd0 (enquanto o Linux o chama de hda). Um disco secundrio recebe o nome de hd1 (o Linux o chama de hdb) e assim se segue. Para trabalhar com as parties do HD, o GRUB as referencia atravs de um nmero inserido aps uma vrgula. Assim, a primeira partio recebe o nmero 0 (zero) - hd0,0 -, segunda partio atribudo o nmero 1 - hd0,1 - e assim por diante. importante frisar que, nesse caso, o GRUB no faz distino entre discos IDE e SCSI. Agora que voc j sabe como o GRUB trata os discos da mquina, abaixo segue, como exemplo, o contedo de um arquivo menu.lst:

default 0 timeout 5 fallback 1 splashimage=(hd0,1)/grub/splash.xpm.gz title Fedora Core (2.6.9-1.667) root (hd0,1) kernel /boot/vmlinuz-2.6.9-1.667 ro root=/dev/hda2 initrd /boot/initrd-2.6.9-1.667.img title Windows XP rootnoverify (hd0,0) makeactive chainloader +1 A primeira linha - default 0 - indica ao GRUB qual sistema operacional inicializar caso o usurio no faa nenhuma escolha. No exemplo, ele vai "bootar" o Fedora Linux, pois o nmero 0 faz referncia ao primeiro sistema listado no arquivo. Caso o Windows XP tivesse que ser carregado por padro, bastaria mudar a linha em questo para default 1, pois no arquivo esse sistema o segundo a ser listado (note que o GRUB faz a listagem comeando em zero). A linha preenchida com timeout 5 determina o tempo (em segundos) que o usurio ter para escolher um sistema operacional para inicializar. Assim que o GRUB "entra em ao", ele mostra na tela uma lista dos sistemas operacionais instalados. O usurio poder escolher um alternando-os atravs das teclas de seta do teclado e pressionando o boto Enter quando a escolha for feita. No caso desse exemplo, o timeout recebe o valor 5. Isso significa que o usurio ter 5 segundos para escolher um sistema. Caso nenhuma opo seja escolhida, aps os 5 segundos, o GRUB carregar o sistema padro, definido atravs da primeira linha. Por sua vez, a terceira linha (nem sempre usada) - fallback 1 - indica ao GRUB qual sistema inicializar caso o carregamento da primeira opo falhe por algum motivo. Esse recurso especialmente til quando h mais de dois sistemas operacionais instalados no computador. A quarta linha simplesmente contm informaes para carregar as configuraes grficas (como imagem de fundo) para quando o GRUB exibir as opes de sistema operacional disponveis. Repare que neste arquivo menu.lst a lista de sistemas operacionais mostrada depois da quarta linha de configurao. O primeiro sistema da lista o Fedora Linux: title Fedora Core (2.6.9-1.667) root (hd0,1) kernel /boot/vmlinuz-2.6.9-1.667 ro root=/dev/hda2 initrd /boot/initrd-2.6.9-1.667.img A primeira linha acima mostra o ttulo que o sistema recebe no GRUB. esse nome que ser exibido quando o GRUB mostrar a lista de sistemas operacionais que o usurio

pode escolher. Pode-se usar qualquer frase depois de title. Obviamente, informe algo relacionado ao sistema operacional em questo. A segunda linha - root (hd0,1) - informa ao GRUB onde o sistema operacional est instalado. No exemplo, ele se encontra na segunda partio do HD. A palavra root tem a funo de indicar que aquela a partio principal do sistema (ou a partio-raiz) e que, portanto, dever ser montada. A terceira e a quarta linha informam ao GRUB o kernel a ser carregado e possveis parmetros. Neste caso, ro indica que a partio deve ser montada inicialmente com permisses apenas de leitura. Na parte do arquivo que trata do Windows XP, a sintaxe a mesma. No entanto, a segunda linha recebe o parmetro rootnoverify ao invs de root, pois a montagem de partio no se aplica ao Windows. O rootnoverify usado porque esse parmetro no tenta fazer nenhuma montagem. title Windows XP rootnoverify (hd0,0) makeactive chainloader +1 Como o Windows trabalha de maneira diferente do Linux, a opo de carregar o kernel tambm no se aplica ao sistema da Microsoft. No lugar desse parmetro, geralmente usado chainloader +1, que "chama" o carregador de boot do Windows, deixando a esse a tarefa de iniciar o sistema. Note que em nosso exemplo, h um parmetro na linha acima de chainloader +1, o makeactive. Este tem a funo de definir a partio em questo como ativa. Existe um parmetro chamado map que permite o carregamento do Windows quando este no est instalado no primeiro HD (regra obrigatria no Windows 9x, por exemplo). Sua utilizao feita da seguinte forma (supondo que o Windows esteja no segundo disco): map (hd0) (hd1) map (hd1) (hd0) Outras opes Voc j deve ter notado que, basicamente, o GRUB dividido em duas partes: a primeira contm configuraes gerais referentes ao prprio GRUB e a segunda parte contm a lista dos sistemas operacionais instalados na mquina. Voc tambm deve ter notado que o preenchimento das informaes da segunda parte mudam de acordo com o sistema. Na primeira parte, possvel adicionar outros parmetros, entre eles o password e o hiddenmenu. O primeiro solicita uma senha definida por voc para o acesso a determinados recursos, como a opo de linha de comando do GRUB (sintaxe password senha). O segundo simplesmente esconde a lista de sistemas operacionais quando o GRUB carregado. Essa lista pode ficar visvel pressionando-se a tecla ESC do teclado.

Caso voc queira possibilitar o acesso a um determinado sistema operacional somente atravs de senha, basta inserir a palavra lock depois da linha title referente ao sistema em questo. No entanto, para isso, necessrio que a opo password tenha sido inserida na primeira parte, pois esta senha que ser solicitada: title Windows XP lock rootnoverify (hd0,0) (...) Se a utilizao de outra senha for necessria, basta inserir o campo password senha abaixo da linha title. Nesse caso, a solicitao de senha somente ser feita se o sistema operacional em questo for escolhido: title Windows XP password infowester rootnoverify (hd0,0) (...) Um ltimo detalhe: possvel inserir comentrios no arquivo de configurao do GRUB. Para isso, basta adicionar o caractere # antes da linha de comentrio, por exemplo: #Arquivo de configurao do GRUB default 0 timeout 5 fallback 1 (...) Linha de comandos do GRUB O GRUB conta com um recurso muito interessante (e til, principalmente para resolver problemas no carregamento do sistema operacional): uma linha de comandos que pode ser acessada assim que o GRUB carregado. Para isso, quando o GRUB estiver disponvel, pode-se apertar uma determinada tecla (geralmente o boto C) ou escolher essa opo na lista de sistemas operacionais. Tudo depende da forma como o GRUB foi configurado (o GRUB geralmente aciona a linha de comando quando no encontra a lista de sistemas operacionais). H uma srie de recursos que podem ser usados na linha de comandos do GRUB. Quando estiver nela, pressione a tecla Tab de seu teclado duas vezes seguidas para obter a lista completa. Para obter detalhes sobre um comando especfico, digite help comando, por exemplo: help cmp Finalizando O GRUB um software capaz de trabalhar com diversos sistemas operacionais, contm muitos recursos e at tido como um substituto do LILO. Obviamente, este artigo no

abordou todas as suas opes e funcionalidades e, por isso, os seguintes links podem ajud-lo caso necessite de mais detalhes: www.gnu.org/software/grub - Pgina oficial; www.tldp.org/HOWTO/Multiboot-with-GRUB.html - HOWTO; www.linuxgazette.com/issue64/kohli.html - Matria em ingls sobre o GRUB. Escrito por Emerson Alecrim - Publicado em 05_07_2005 - Atualizado em 05_07_2005

Os textos desenvolvidos pelo InfoWester esto sob uma Licena Creative Commons creativecommons.org/licenses/by-nc-sa/3.0/br/ InfoWester 2013 - Conhecimento tecnolgico ao seu alcance - www.infowester.com