Este artigo apresenta as características do GRUB, um gerenciador de boot cada vez mais usado, principalmente entre os usuários do Linux. O texto trata rapidamente de sua instalação e depois dá detalhes sobre sua configuração, sendo indicado para iniciantes ou para aqueles que queiram saber o básico de seu funcionamento.
Geralmente o GRUB faz uso do arquivo /boot/grub/menu.lst para definir e carregar sua configuração (um detalhe importante: dependendo da distribuição, o GRUB pode usar outro diretório e outro nome de arquivo, como grub.conf ou menu.conf). Nele, a primeira coisa que chama a atenção é sua forma de trabalhar com os discos rígidos do computador. Ao invés de referenciar esses dispositivos como /dev/hda1, /dev/hda2, etc, ele o faz através dos termos (hd0,0), (hd0,1) e assim por diante. Observe a tabela abaixo para um melhor entendimento:
Padrão
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 secundário recebe o nome de hd1 (o Linux o chama de hdb) e assim segue. Para trabalhar com as partições do HD, o GRUB as referencia através de um número inserido após uma vírgula. Assim, a primeira partição recebe o número 0 (zero) - hd0,0 -, à segunda partição é atribuído o número 1 - hd0,1 - e assim por diante. É importante frisar que, nesse caso, o GRUB não faz distinção entre discos IDE e SCSI.
Agora que você já sabe como o GRUB trata os discos da máquina, abaixo segue, como exemplo, o conteúdo de um arquivo menu.lst:
title Windows XP
rootnoverify (hd0,0)
makeactive
chainloader +1
A primeira linha - default 0 - indica ao GRUB qual sistema operacional inicializar caso o usuário não faça nenhuma escolha. No exemplo, ele vai "bootar" o Fedora Linux, pois o número 0 faz referência ao primeiro sistema listado no arquivo. Caso o Windows XP tivesse que ser carregado por padrão, bastaria mudar a linha em questão para default 1, pois no arquivo esse sistema é o segundo a ser listado (note que o GRUB faz a listagem começando em zero).
A linha preenchida com timeout 5 determina o tempo (em segundos) que o usuário terá para escolher um sistema operacional para inicializar. Assim que o GRUB "entra em ação", ele mostra na tela uma lista dos sistemas operacionais instalados. O usuário poderá escolher um alternando-os através das teclas de seta do teclado e pressionando o botão Enter quando a escolha for feita. No caso desse exemplo, o timeout recebe o valor 5. Isso significa que o usuário terá 5 segundos para escolher um sistema. Caso nenhuma opção seja escolhida, após os 5 segundos, o GRUB carregará o sistema padrão, definido através 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 opção falhe por algum motivo. Esse recurso é especialmente útil quando há mais de dois sistemas operacionais instalados no computador.
A quarta linha simplesmente contém informações para carregar as configurações gráficas (como imagem de fundo) para quando o GRUB exibir as opções de sistema operacional disponíveis.
Repare que neste arquivo menu.lst a lista de sistemas operacionais é mostrada depois da quarta linha de configuração. O primeiro sistema da lista é o Fedora Linux:
A primeira linha acima mostra o título que o sistema recebe no GRUB. É esse nome que será exibido quando o GRUB mostrar a lista de sistemas operacionais que o usuário pode escolher. Pode-se usar qualquer frase depois de title. Obviamente, informe algo relacionado ao sistema operacional em questão.
A segunda linha - root (hd0,1) - informa ao GRUB onde o sistema operacional está instalado. No exemplo, ele se encontra na segunda partição do HD. A palavra root tem a função de indicar que aquela é a partição principal do sistema (ou a partição-raiz) e que, portanto, deverá ser montada.
A terceira e a quarta linha informam ao GRUB o kernel a ser carregado e possíveis parâmetros. Neste caso, ro indica que a partição deve ser montada inicialmente com permissões apenas de leitura.
Na parte do arquivo que trata do Windows XP, a sintaxe é a mesma. No entanto, a segunda linha recebe o parâmetro rootnoverify ao invés de root, pois a montagem de partição não se aplica ao Windows. O rootnoverify é usado porque esse parâmetro não tenta fazer nenhuma montagem.
title Windows XP
rootnoverify (hd0,0)
makeactive
chainloader +1
Como o Windows trabalha de maneira diferente do Linux, a opção de carregar o kernel também não se aplica ao sistema da Microsoft. No lugar desse parâmetro, 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 parâmetro na linha acima de chainloader +1, o makeactive. Este tem a função de definir a partição em questão como ativa.
Existe um parâmetro chamado map que permite o carregamento do Windows quando este não está instalado no primeiro HD (regra obrigatória no Windows 9x, por exemplo). Sua utilização é feita da seguinte forma (supondo que o Windows esteja no segundo disco):
[6] Comentário enviado por lion em 22/10/2005 - 20:52h
Valew,
Estava quebrando a cabeça na linha do splashimage mas percebi que estava usando como se o sistema estive-se com tudo na raiz e não com uma partição para /boot que é meu caso!
Como fazia:
splashimage=(hd0,1)/boot/grub/debian.xpm.gz
Agora:
splashimage=(hd0,1)/grub/debian.xpm.gz
[9] Comentário enviado por andriel_linux em 28/03/2006 - 18:55h
Galera... instalei o Grub quando estava instalando o KUBUNTU 5.10
Meu PC tem 2 hds. No primário está o WIN XP
No Slave está o KUBUNTU.
O Grub está instalado no HD primário aonde se encontra o XP.
Como faço para desinstalar o GRUB?
Não acho ele em lugar nenhum no HD primário aonde ele está.
[11] Comentário enviado por FRICSO em 07/09/2006 - 00:30h
Pessoal, uso o XP e Ubuntu.
Meu HD eh todo particionado.
Depois de usar o "fdisk /mbr" o windows vai acessar as partições normalmente? pq quando eu executei o "fixboot" no modo reparo do cd do windows XP, apareceu uma msg de que os dados de acesso às partições seriam apagados se eu continuasse.
Qual procedimento 100% confiável para remover o GRUB da MBR, sem alterar o acesso as partições do Windows XP?
Outra dúvid: o XP não tem o fdisk né? como eu faço para executá-lo? e eu nem sei quem tem o win 98 pra poder pegar um disquete de boot.
[15] Comentário enviado por chao em 15/11/2006 - 00:11h
Eu tava procurando isso do splash, valew!
Um professor que eu tive (lsilva) tinha ensinado a colocar splash no GRUB, mas tinha esquecido como. Deu pra lembrar um pouco.
Só não fala aí a resolução e a qtd de cores que a imagem tem q ter.
[18] Comentário enviado por pedroka em 22/12/2006 - 15:21h
aparentimente parece ser muito bom mais gostaria de saber se ele é fácil de ser usado..instalação pq sou novo o linux!!!!!!!
espero um e-mail de alguem me respondendo!!!!!!!
e a quanto o artigo muito bem passado a tds que irão ler!!!!!!!
[20] Comentário enviado por cleitão em 13/01/2007 - 08:44h
Cara muito legal este artigo, muito bem explicado depois disso não tem como se confundir.....
Valeu mesmo.....
Deixa só eu perguntar uma coisa com hd's sata tem algo diferente que pode ser feito, pois tenho tentado fazer a instalação em hd's sata do mesmo modo que faço com ide e ta dando alguns paus....
[22] Comentário enviado por fabianoac em 14/02/2007 - 13:40h
Alguma dica de como configurar o Grub pra quem usa debian e windows vista? Não to conseguindo de jeito nenhum fazer o windows vista inicializar pelo grub, ele aparece na lista do grub, mas nao abre qdo clico.
[25] Comentário enviado por tralsl em 23/02/2007 - 11:41h
Eu fiz uns testes com o Grub, mas continuo preferindo o LILO
é mais simples e fácil de configurar
só tem uma falta em relação ao Grub, naum tem a linha de comando, ou pelo menos eu naum conheço, se alguém souber de algo parecido no LILO me informe por favor
[28] Comentário enviado por tralsl em 03/03/2007 - 19:15h
eu adimiro muito o software livre, sou um usuário porém naum tanto intusiasta como a maioria desse site
eu busco soluções, naum tenho que me preocupar sobre os conceitos dos outros,..., naum sei pq estou respondendo, como se vc sempre soubesse como configurar cada utilitário do linux, vc tem que crescer kara, abra os olhos
[33] Comentário enviado por removido em 23/04/2007 - 00:01h
Artigo legal, uso o grub no meu pc e ele dá conta do recado. Vai ajudar muita gente, inclusive um amigo meu que já estava desistindo de usar o lilo!!
Você saberia me dizer as configurações para dar boot no kurumin 7? Preciso somente das diretrizes da terceira e quarta linha, em relação já aos sistemas operacionais.
[43] Comentário enviado por dilson jose em 15/08/2007 - 15:03h
muito bom... segui o passo a passo meu grub rodou com dois hd
um hda - win xp e hdc suse - mas no roda o suse ...
no win xp ele da erro 13 - invalid on unsupported executable format
o que ser isso... no windowns nao roda.. so desligando o hd do suse...
grato pode me dar uma dica...
dilson josé
[44] Comentário enviado por mauHumb em 21/08/2007 - 11:16h
HELP!!!!!!
dei rata!!!!!
eu ainda não tinha visto esse artigo e imaginei q splashimage é q era a opção de estabelecer qual SO é carregado por padrão e mudei essa linha 4 (splashimage) pra hd0,0 (win); além d ter mudado tbm a opção do default pra 1 (pra subir o win). Agora o grub não stá aparecendo pra eu entrar no linux, qdo eu quiser.
como vou mudar isso??
[47] Comentário enviado por mizegito em 27/08/2007 - 11:24h
HELP!!!!!!
dei rata!!!!!
eu ainda não tinha visto esse artigo e imaginei q splashimage é q era a opção de estabelecer qual SO é carregado por padrão e mudei essa linha 4 (splashimage) pra hd0,0 (win); além d ter mudado tbm a opção do default pra 1 (pra subir o win). Agora o grub não stá aparecendo pra eu entrar no linux, qdo eu quiser.
como vou mudar isso??
[48] Comentário enviado por mizegito em 27/08/2007 - 11:25h
HELP!!!!!!
eu ainda não tinha visto esse artigo e imaginei q splashimage é q era a opção de estabelecer qual SO é carregado por padrão. Agora o grub não stá aparecendo pra eu entrar no linux, qdo eu quiser.
como vou mudar isso??
[49] Comentário enviado por -Kaizoku- em 28/08/2007 - 22:59h
Pô, muito massa =]
Eu prefiro usar o Lilo, pois acho ele + instável,
mas o Grub é bem legal, é o primeiro tuto q leio sobre a configuração geral dele... Sempre Slack + Lilo ;D
[68] Comentário enviado por removido em 06/01/2008 - 11:09h
BZL de comentário...
Qdo instalei o UBUNTU, ele instalou... toda vez que dou o boot ele vem com as opções de escolha. Será que preciso fazer algo melhor como: fazer com que ele pare no tempo, até eu descidir para onde eu deva ir. As vezes, damos o boot e desviamos a atenção. Lá vai ele para o UBUNTU que é o 1º da lista. Entendo que se tiver apenas uma forma de indicar quem vai "bootar"1º, não é ineressante, já que vai ficar do mesmo jeito, contando tempo.
Grato pela colaboração.
idgpol@gmail.com
[70] Comentário enviado por xaveco em 07/01/2008 - 19:00h
Hola tengo la siguiente duda:
Tengo instalado el sistema FC5, actualmente en el GRUB, levanta por defecto el "Fedora Core (2.6.20.3)"
Esto es lo que tengo en mi grub.conf;
//////////
default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title Fedora Core (2.6.20.3)
root (hd0,0)
kernel /vmlinuz-2.6.20.3 ro root=/dev/VolGroup00/LogVol00 rhgb quiet
initrd /initrd-2.6.20.3.img
title Fedora Core (2.6.15-1.2054_FC5)
root (hd0,0)
kernel /vmlinuz-2.6.15-1.2054_FC5 ro root=/dev/VolGroup00/LogVol00 rhgb quiet
initrd /initrd-2.6.15-1.2054_FC5.img
//////////
me gustaría me ayudes a configurar el GRUB, para que cuando se inicie el computador levante "Fedora Core (2.6.15-1.2054_FC5)" por defecto
Agradeceria mucho cualquier comentario al respecto.
[72] Comentário enviado por thyaguvinny em 08/01/2008 - 15:46h
Não gostei... tem muita coisa bem explicada, mas deixa outras tantas por explicar...
E sobre o comando: # install (hd0,2)/boot/grub/stage1 (hd0) (hd0,2)/boot/grub/stage2 p (hd0,2)/boot/grub/menu.lst
na primeira parte do tutorial? Não foi explicado pra que serve...
E sobre os dispositivos sda? Como o GRUB trata?
A melhor parte do tutorial é o final, aonde são mostradas fontes realmente confiáveis...
Lamento...
[74] Comentário enviado por everton3x em 29/01/2008 - 08:48h
Ótimo artigo...
A respeito dos comentários do wancleber e do thyaguvinny, recomendo que os mesmos releia o ínício do artigo, que diz o seguinte:
"O texto trata rapidamente de sua instalação e depois dá detalhes sobre sua configuração, sendo indicado para iniciantes ou para aqueles que queiram saber o básico de seu funcionamento."
Portanto, para usuários iniciantes, é u excelente artigo. Aqueles que pretendem algo mais profundo, que consultem a documentação referenciada na última parte do artigo.
[75] Comentário enviado por DebianWoman em 06/02/2008 - 12:54h
Boa Tarde Galera!!!
Já segui todas as dicas possíveis encontradas no vivaolinux e não resolveu meu problemal.
O erro que está sendo apresentado é o seguinte, Error 1: "Filenname must be either an absolute pathname ro blocklist"
Quem puder me ajudar, ficarei grata.
[77] Comentário enviado por elionw3 em 29/03/2008 - 09:30h
Mto bom mesmo, heheh, se eu soubesse do artigo nao teria de ter configurado na unha, heheheh
migrando de vista pra kubuntu, ainda queria q o vista ficasse como opçao padrao, procurei ate q axei um arquivo q parecia ser da conf do grub, o tal do menu.lst, e quem diz q eu conseguia editar, heuehau, sem pratica e errando ate a senha do sudo, mas é na marra q se aprende!
[78] Comentário enviado por junior007 em 21/04/2008 - 12:35h
Olá amigos,
meu problema é o seguinte - tenho dois XP e o Debian na minha maquina
no primeiro hd tenho um XP (master)
no segungo hd tenho um XP e o Debian (slave)
Gostaria de saber como eu faço pra dar boot pelo XP do primeiro HD (master) - meu menu.lst tah + ou - assim
[79] Comentário enviado por albfneto em 29/04/2008 - 11:27h
Olá.
Parabéns pelo seu artigo. muito legal e util. Todomundo usa Grub!
Minha dúvida: tenho um micro com duplo boot Sabayon Linux e Vista. O vista perdeu o boot e só o linux funciona....
a mensagem no boot do vista diz que o arquivo hal.dll tá corrompido.
se eu corrigir co cd de windows, o boot, o mbr, vou ficar sem grub.
comoposso dar os comandos do grub, pra regravar, sem boot, tanto em Windows, como emVista?
Ou bastaria eu usar o Live DVD do Sabayon, e acessar o Konsole, logado como root?
[81] Comentário enviado por albertguedes em 30/04/2008 - 13:46h
Cada vez mais usado porque parece que o Lilo está caindo no ostracismo.
Eu usei o Grub no começo de minha existencia com o Linux e depois passei pro Lilo, que pra mim é muito mais fácil de se entender como funciona do que o Grub.
Fora que o Grub já ferrou um monte de vezes meu MBA e tive que resgatar sistema das mais esdruxulas formas. Claro, foi minha incopetencia em não ter feito disquete ou cd de resgate, mas é duro criar midia de resgate com Grub, com lilo apenas faço
$ lilo -b /dev/<midia device>
e já tenho uma midia de resgate.
Claro, não estou menosprezando o Grub, mas só acho que ele tem coisas a mais do que eu preciso pra um bootloader.
[86] Comentário enviado por rfmelo em 05/08/2008 - 21:49h
Muito bom o GRUB, tenho o debian, XP e o server 2003 no HD e funcionam muito bem.... mas tenho uma dúvida... preciso traduzir todo o texto que aparece para selecionar o sistema operacional para facilitar a vida da minha filha... onde posso fazer esta alteração?
[88] Comentário enviado por carlaodopao em 06/09/2008 - 22:04h
Amigo, vc já viu numa distro , um dia o /dev está listando os hds ide e no outro estes ide viram sata?
Aconteceu comigo.... a minha distro é ubuntu! :-|=
[89] Comentário enviado por irado em 07/09/2008 - 17:14h
é... comigo aconteceu como com o colega albertoguedes.. não funciona com (por exemplo) 4 distribuições linux + 2 freebsd, simplesmente se perde. Deixei de usar a debian por causa dessa porcaria de grub (que é padrão) e que simplesmente a debian não funciona com lilo, então fica aquilo: se fica com a debian, não fica com 4 distro + 2 BSD´s, então a debian com o seu grub dançou. Não largo mais o lilo - risos.
[99] Comentário enviado por higomendes em 10/03/2009 - 14:48h
preciso de ajuda por favor, tava instalando o ubuntu 8.10, dentro do windows. tava na parte de partição
quando faltou energia na minha ksa, quando tentei continuar a instalação vou com uma tela preta com
um comando "$" qual o camando que tenho que dar pra continuar a minha instalação, qualquer coisa
alguém me mande a solução pro meu email......HL_MENDES@HOTMAIL.COM.
[105] Comentário enviado por andre_asn em 02/07/2009 - 09:39h
Bom dia ... Muito bom artigo esta muito bem explicado, mas tenho um problema aqui e não consegui resolver estava tudo certo com o Linux mas deu uma queda de energia e aparece um erro de MBR ai distros como Debian não conseguem gravar o grub, meu micro não tem drive de disket e para fazer fora tão cobrando aqui na cidade onde moro (+-) 30,00 com prazo de 2 dias para entregar tem alguma forma de limpar a MBR sem ser com disket?
se eu usar os camandos que voce passou para instalar pode de alguma forma "limpar" o meu MBR antigo?
[112] Comentário enviado por meinhardt_jgbr em 25/01/2010 - 20:54h
Emerson,
Excelente seu artigo!!
Para facilitar a vida daqueles que estiverem encontrando problemas com a versão mais atualizada (GRUB2) que vem com as novas distros da fornada de kernel 2.6.30 e acima em geral, a seguir links com informações sobre a configuração e transposição de GRUB1 para GRUB2, que estão disponíveis no Manual do sidux: