Skip to main content

102.2 Instalação e configuração do Boot Manager



Como a maioria das distribuições Linux utiliza o GRUB como gerenciador de boot (e a prova da LPI também foca nele), vamos concentrar nossos esforços nesse bootloader. Atualmente existem duas versões principais: o GRUB Legacy e o GRUB 2, e é importante conhecer ambos.


Principais diferenças entre GRUB Legacy e GRUB 2

GRUB LegacyGRUB 2
Arquivos de configuração/boot/grub/menu.lst
/boot/grub/grub.conf
/boot/grub/grub.cfg
/etc/default/grub
/etc/grub.d/
Referência de discos e partiçõeshda1 = hd0,0
hda5 = hd0,4
hdb3 = hd1,2
hda1 = hd0,1 ou hd0,msdos1
hda5 = hd0,5
hdb3 = hd1,3
Comandos principaisgrub-install /dev/sda
grub-install '(hd0)'
grub-install <dispositivo>
update-grub
grub-mkconfig -o /boot/grub/grub.cfg
Sintaxe do menu de boottitle "Ubuntu"
root (hd0,0)
kernel /boot/vmlinuz...
default=0
timeout=15
menuentry "Ubuntu" {
set root=(hd0,1)
linux /boot/vmlinuz...
}
GRUB_DEFAULT=0
GRUB_TIMEOUT=15

Esquema de mapeamento de discos (comparativo):

DiscoGRUB LegacyGRUB 2
hd0Primeiro discoPrimeiro disco
hd1Segundo discoSegundo disco
hd0,2Primeira partição do disco 1Segunda partição do disco 1
hd2,1Segunda partição do disco 3Primeira partição do disco 3

A principal diferença no mapeamento de partições entre GRUB Legacy e GRUB 2 está na indexação das partições: o GRUB Legacy começa a contar a partir do 0, enquanto o GRUB 2 começa a partir do 1 (embora suporte ambas as formas, dependendo da nomenclatura).


Além disso, no GRUB 2, o tipo de particionamento pode aparecer no identificador da partição:

  • msdos indica que a partição usa o esquema MBR (ex: hd0,msdos1)
  • gpt indica o uso do esquema GPT (ex: hd0,gpt1)

Se não houver especificação (hd0,1), o GRUB tenta inferir o tipo com base no disco.



Comandos


No GRUB Legacy, o principal comando era apenas:

  • grub-install <dispositivo>

No GRUB 2, temos mais ferramentas para lidar com a instalação e geração do menu:

  • grub-install <dispositivo> Instala o GRUB 2 no setor de boot do dispositivo especificado (por exemplo, /dev/sda), não precisa informar a partição. Ele copia os arquivos necessários e configura o carregador.

  • update-grub e grub-mkconfig -o /boot/grub/grub.cfg Ambos geram o arquivo de configuração principal do GRUB 2 (/boot/grub/grub.cfg) com base nas informações de /etc/default/grub e nos scripts do diretório /etc/grub.d/. O update-grub nada mais é que um wrapper script para grub-mkconfig, presente em muitas distribuições para simplificar esse processo.


Algumas opções do grub2 em /etc/default/grub:

OpçãoDescrição
GRUB_DEFAULTDefine qual entrada do menu será carregada por padrão. Pode ser um número (índice) ou o nome da entrada (menuentry).
GRUB_TIMEOUTTempo, em segundos, durante o qual o menu de boot é exibido. Após esse tempo, a entrada padrão é carregada.
GRUB_DISTRIBUTORGeralmente preenche o nome da distribuição automaticamente.
GRUB_CMDLINE_LINUX_DEFAULTDefine parâmetros que serão passados ao kernel apenas no boot padrão. Valores comuns são quiet (suprime mensagens) e splash (exibe uma imagem ou animação).
GRUB_CMDLINE_LINUXParâmetros que serão sempre passados ao kernel, em qualquer entrada.
GRUB_HIDDEN_TIMEOUTSe definido, o menu não é mostrado, mas o GRUB espera esse tempo (em segundos) antes de continuar. Pressionar uma tecla durante esse período revela o menu.
GRUB_HIDDEN_TIMEOUT_QUIETSe true, suprime a contagem regressiva durante o GRUB_HIDDEN_TIMEOUT.
GRUB_DISABLE_OS_PROBERSe true, desabilita a detecção automática de outros sistemas operacionais durante a geração do menu (como Windows ou outras distros Linux).