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 Legacy | GRUB 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ções | hda1 = hd0,0 hda5 = hd0,4 hdb3 = hd1,2 | hda1 = hd0,1 ou hd0,msdos1 hda5 = hd0,5 hdb3 = hd1,3 |
Comandos principais | grub-install /dev/sda grub-install '(hd0)' | grub-install <dispositivo> update-grub grub-mkconfig -o /boot/grub/grub.cfg |
Sintaxe do menu de boot | title "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):
Disco | GRUB Legacy | GRUB 2 |
---|---|---|
hd0 | Primeiro disco | Primeiro disco |
hd1 | Segundo disco | Segundo disco |
hd0,2 | Primeira partição do disco 1 | Segunda partição do disco 1 |
hd2,1 | Segunda partição do disco 3 | Primeira 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
egrub-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/
. Oupdate-grub
nada mais é que um wrapper script paragrub-mkconfig
, presente em muitas distribuições para simplificar esse processo.
Algumas opções do grub2 em /etc/default/grub
:
Opção | Descrição |
---|---|
GRUB_DEFAULT | Define qual entrada do menu será carregada por padrão. Pode ser um número (índice) ou o nome da entrada (menuentry ). |
GRUB_TIMEOUT | Tempo, em segundos, durante o qual o menu de boot é exibido. Após esse tempo, a entrada padrão é carregada. |
GRUB_DISTRIBUTOR | Geralmente preenche o nome da distribuição automaticamente. |
GRUB_CMDLINE_LINUX_DEFAULT | Define 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_LINUX | Parâmetros que serão sempre passados ao kernel, em qualquer entrada. |
GRUB_HIDDEN_TIMEOUT | Se 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_QUIET | Se true , suprime a contagem regressiva durante o GRUB_HIDDEN_TIMEOUT . |
GRUB_DISABLE_OS_PROBER | Se true , desabilita a detecção automática de outros sistemas operacionais durante a geração do menu (como Windows ou outras distros Linux). |