LPIC 1 - 102.2 INSTALAR O GERENCIADOR DE INICIALIZAÇÃO

Neste tópico é importante saber como instalar e configurar um gerenciador de boot. Para isso, temos que aprender a fornecer locais de inicialização alternativos e de backup, instalar e configurar um gerenciador com Grub Legacy, configuração básica do Grub2 e interagir com o  carregador de inicialização.

Peso 2

O gerenciador de inicialização conhecido como bootloader, é responsável por localizar e carregar o kernel.
Ele fica depois dos procedimentos executados pelo BIOS do computador e antes de iniciar o sistema operacional.
MBR - Master Boot Record ou Registro Mestre de Inicialização, ocupa o primeiro
setor do disco rígido (512 bytes).

Antigamente existiam 2 programas que gerenciavam a inicialização: Lilo e o Grub (Grand Unified Bootloader). O Lilo não é mais utilizado, sendo que a maioria das distribuições utilizam o Grub, em sua versão antiga conhecido como Legacy. A versão mais nova do Grub, é a Grub2.
A principal diferença está nos arquivos de configuração, pois o Grub2 foi todo reescrito.

Grub Legacy - Grand Unified Bootloader)

Maioria das distribuições o utilizam (Ubuntu, Debian, Fedora...) É instalado na MBR com o comando /sbin/grub-install. 
Principal arquivo de configuração é o /boot/grub/menu.lst

As opções globais do Grub Legacy

default - opção padrão a ser iniciada (começando por 0);
timeout - tempo de espera para iniciar o boot (em segundos);
title - nome para o item;
root - localização do carregador de segundo estágio e do Kernel (hd0,0, equivalendo a /dev/hda, /dev/sda, dependendo do tipo de dispositivo instalado);
kernel -  caminho para o kernel;
ro - montar inicialmente em modo somente leitura;
initrd - caminho para a imagem initrd

Grub2

O Grub2 foi totalmente reescrito. Todos os seus aspectos estão modificados.

Algumas melhorias do Grub2: 

  • Suporte a scripts com instruções condicionais e funções;
  • Carregamento dinâmico de módulos;
  • Modo de recuperação;
  • Menus personalizados e temas;
  • Carregar Lives-CDs a partir do disco rígido;
  • Suporte a plataformas diferentes da x86;
  • Suporte universal a UUIDs
Principais diferenças:
  • Arquivo principal agora ser o /boot/grub/grub.cfg (em alguns casos podem estar em /etc/grub2). Este arquivo é gerado automaticamente e NUNCA DEVE SER EDITADO DIRETAMENTE
  • O arquivo que deve ser editado é o /etc/default/grub
  • As configurações avançadas estão no diretório /etc/grub.d/
  • A numeração das partições inicia-se a partir do 1 e não mais de 0;

Após alterações realizadas no arquivo /etc/default/grub, deve-se rodar o comando update-grub para a inclusão de novos kernel's e sistemas operacionais como o Windows.
Em algumas distribuições o comando update-grub pode se chamar update-grub2.
Caso o comando esteja ausente, o comando grub-mkconfig -o /boot/grub/grub.cfg. Se for o Grub2, grub2-mkconfig -o /boot/grub2/grub.cfg.

Resumo:
O arquivo /etc/default/grub GERA o arquivo /boot/grub/grub.cfg

Interagindo com o carregador de inicialização

Como não alteramos o arquivo grub.cfg, podemos alterar algumas opções no arquivo /etc/default/grub.

GRUB_DEFAULT - Sistema inciado por padrão. Pode ser em ordem numérica, começando por 0, um nome igual está definido em grub.cfg, ou saved para carregar a última escolha.

GRUB_SAVEDEFAULT - podemos definir como true e caso a opção GRUB_DEFAULT for saved, a última escolha será lembrada.

GRUB_HIDDEN_TIMEOUT - quantos segundos aguardar sem exibir o menu do grub.

GRUB_HIDDEN_TIMEOUT_QUIET - se a opção true tiver setada, não será exibido o um contador mostrando o tempo restante.

GRUB_TIMEOUT - tempo em segundos para a exibição do menu do Grub. Se o valor for -1, o menu ficará na tela até que o usuário faça uma escolha.

GRUB_DISTRIBUTOR - nome descritivo para o item

GRUB_CMDLINE_LINUX - linha de parâmetros para o kernel - tanto para o modo normal quanto para o modo de recuperação.

GRUB_CMDLINE_LINUX_DEFAULT - linha de parâmetros para o kernel apenas para o modo normal.

GRUB_DISABLE_LINUX_UUID - se o valor for true, não localiza dispositivos por UUID.

GRUB_GFXMODE - resolução da tela para o menu do grub e para inicialização.
GRUB_DISABLE_LINUX_RECOVERY - se o valor true estiver escolhido, a opção de recuperação do sistema não será exibida.

GRUB_INIT_TUNE - toca um som no speaker interno antes de exibir o menu.

GRUB_DISABLE_OS_PROBER - descarta a busca automática por outros sistemas operacionais.

Como podem ver, as opções são bem intuitivas.

Sempre que alguma opção dessas for alterada, o comando update-grub ou update-grub2 deve realizado novamente para a geração de um novo arquivo grub.cfg. Caso os comandos update-grub, update-grub2 não estejam disponíveis, utilize o comando grub-mkconfig -o /boot/grub/grub.cfg ou grub2-mkconfig -o /boot/grub2/grub.cfg, de acordo com a versão do grub que você instalou.

E por fim, uma dica: caso queira fazer um backup da MBR em caso de falhas futuras, basta digitar o comando:

dd if=/dev/hda of=bkp_MBR bs=1 count=512

E para restaurar:
dd if=bkp_MBR of=/dev/hda

Mais detalhes do comando dd, veremos no tópico 103.3.


Comentários