Modify the system bootloader:
Em capítulos anteriores, quando abordamos as diferentes etapas que um sistema passa quando inicializa, referimos o papel base do GRUB2, contudo, não divagamos muito sobre este sistema, sendo que nesta secção iremos melhor perceber o que é um BootLoader e como se gere o manuseamento do GRUB
.
O GRUB2 (GRand Unified Bootloader), tal como o nome pode sugerir é a segunda geração do bootloader GRUB. Este sucessor foi criado devido ás anteriores limitações impostas pelo antigo sistema, sendo que este, não era capaz de funcionar com o sistema de partições GPT e tinha limitações com discos que o tamanho excede-se os 2.4 Terabytes. Com o surgimento do GRUB2 emergiram novas funcionalidades, nomeadamente: suporte para GPT e MBR; capacidade de efetuar boot em diferentes file-systems(xfs, ext4, ntfs, hfs+, raid, entre outros); portabilidade entre diferentes arquiteturas(BIOS, EFI, Coreboot, etc); entre demais funcionalidades.
Antes de começarmos a analisar os diferentes ficheiros e utilitários usados para gerir o GRUB2 no RHEL7, temos realmente de perceber qual é o papel de um Bootloader, portanto, podemos visualizar um bootloader como o primeiro sistema de software que é inicializado pelo BIOS ou UEFI. Este sistema é responsável por carregar o kernel com os parâmetros necessários e o “initial ramdisk” ou initrd
, responsável por carregar um sistema de ficheiros root temporário na memória RAM a nível do hardware.
Num sistema RHEL7, os ficheiros responsáveis pela configuração do GRUB2 , estão espalhados por diferentes ficheiros e sítios, sendo que abaixo ficam definidas as suas localizações e os seus propósitos:
/boot/grub2/grub.cfg – Este ficheiro contem nele a configuração final do GRUB2, sendo que este ficheiro não é para ser editado manualmente.
/etc/grub2.cfg – Este ficheiro é apenas um link simbólico, para o anterior ficheiro (/boot/grub2/grub.cfg).
/etc/default/grub – Este ficheiro contem a lista das diferentes variáveis do GRUB2, sendo que os valores destas variáveis podem ser alterados livremente.
/etc/sysconfig/grub - Este ficheiro é apenas um link simbólico, para o anterior ficheiro (/etc/default/grub).
/etc/grub.d/ - Nesta diretoria existem todos os diferentes ficheiros que são internamente usados pelo GRUB2.
Fora os diferentes ficheiros/diretórios referidos acima existem utilitários que devem ser usados para se poder gerir eficazmente o GRUB2, nomeadamente o grub2
, sendo que este comando pode ser acompanhado com diferentes opções por exemplo -editenv
, ou -mkconfig
, entre outras, para manusear os diferentes aspetos do GRUB2.
Por exemplo vamos imaginar que pretendemos mudar alguma variável existente no ficheiro /etc/default/grub, para assim o fazermos, devemos primeiro editar o ficheiro e de seguida notificar o grub das alterações de forma a ele criar um novo ficheiro de configuração, para isso usamos o seguinte comando:
# grub2-mkconfig -o /boot/grub2/grub.cfg
Para verificarmos uma lista de todos os kernels que serão apresentados para escolha ao utilizador quando a máquina inicializa, podemos usar o grep
para melhor identificarmos estes campos no ficheiro de configuração:
# grep ^menuentry /boot/grub2/grub.cfg
Caso queiramos apenas os detalhes referentes ao kernel que esteja ativo naquele momento no sistema podemos usar o comando:
# grub2-editenv list
Ou caso queiramos alterar o kernel default que é usado aquando a inicialização da máquina para outro usamos:
# grub2-set-default [Opção]
Sendo que a [Opção], neste contexto é o número que identifica o kernel que pretendemos definir como default( 0, para o primeiro, 1 para o segundo, etc).
Tal como em outros capítulos, nesta documentação iremos apenas abordar os básicos associados ao RHCSA em relação aos tópicos, sendo que no caso do GRUB2 o que essencialmente será solicitado durante o RHCSA será maioritariamente o que já foi referido anteriormente (alterar algumas variáveis, alterar kernel default, etc), contudo o GRUB2 é por si só um vasto tópico que poderia ser igualmente descrito numa outra documentação individual. Caso seja do interesse do leitor informar-se mais sobre algumas manipulações possíveis de efetuar no GRUB2, aconselha-se a leitura do seguinte artigo, como algo introdutório e caso seja pretendido uma visão mais profunda pode-se sempre consultar o seu manual.
Last updated
Was this helpful?