Como verificar qual bootloader está sendo usado no Linux

LinuxBeginner
Pratique Agora

Introdução

Neste laboratório, você aprenderá como verificar qual bootloader está sendo usado em um sistema Linux, focando especificamente no GRUB. Você explorará os principais arquivos de configuração localizados no diretório /boot/grub para entender os componentes da sua instalação do GRUB.

Em seguida, você examinará o arquivo /etc/default/grub para verificar as principais configurações que controlam o comportamento do GRUB. Finalmente, você inspecionará os logs do bootloader usando o comando dmesg para confirmar qual bootloader foi carregado durante a inicialização do sistema.

Verificar o GRUB com ls /boot/grub

Nesta etapa, exploraremos os arquivos de configuração do bootloader GRUB. O GRUB (GRand Unified Bootloader) é o bootloader padrão para a maioria das distribuições Linux, incluindo o Ubuntu. É o primeiro software que é executado quando você inicia seu computador, responsável por carregar o kernel do sistema operacional na memória.

Os principais arquivos de configuração do GRUB estão tipicamente localizados no diretório /boot/grub. Vamos listar o conteúdo deste diretório para ver o que há dentro.

Abra seu terminal, caso ainda não esteja aberto. Lembre-se, você pode encontrar o ícone do Xfce Terminal no lado esquerdo da sua área de trabalho.

Digite o seguinte comando e pressione Enter:

ls /boot/grub

O comando ls é usado para listar arquivos e diretórios. Quando você fornece um caminho como /boot/grub, ele lista o conteúdo desse diretório específico.

Você deve ver uma lista de arquivos e diretórios, que pode ser semelhante a esta (a saída exata pode variar ligeiramente dependendo do sistema):

fonts  grub.cfg  grubenv  i386-pc  locale  unicode.pf2  x86_64-efi

Esta saída mostra os vários componentes da sua instalação do GRUB. O arquivo mais importante aqui é grub.cfg, que contém a configuração real do menu de inicialização. Veremos esse arquivo na próxima etapa.

Compreender o conteúdo de /boot/grub é o primeiro passo para aprender como seu sistema Linux inicializa.

Clique em Continuar para prosseguir para a próxima etapa.

Verificar a configuração do GRUB com cat /etc/default/grub

Na etapa anterior, listamos o conteúdo do diretório /boot/grub e vimos o arquivo grub.cfg. Embora grub.cfg seja o arquivo de configuração ativo, ele geralmente é gerado automaticamente a partir das configurações definidas em /etc/default/grub e scripts em /etc/grub.d/.

O arquivo /etc/default/grub contém as principais opções de configuração que controlam como o GRUB se comporta, como o sistema operacional padrão para inicializar, o tempo limite antes da inicialização e os parâmetros do kernel.

Vamos visualizar o conteúdo do arquivo /etc/default/grub usando o comando cat. O comando cat é usado para exibir o conteúdo dos arquivos.

Digite o seguinte comando no seu terminal e pressione Enter:

cat /etc/default/grub

Você verá o conteúdo do arquivo de configuração padrão do GRUB. Ele se parecerá com algo assim:

## If you change this file, run 'update-grub' afterwards to update
## /boot/grub/grub.cfg.

GRUB_DEFAULT=0
GRUB_TIMEOUT_STYLE=hidden
GRUB_TIMEOUT=0
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX=""

## Uncomment to enable booting from a full graphics screen using grub-gfxpayload
## and grub-theme-ubuntu-mate ...
#GRUB_GFXPAYLOAD_LINUX=keep

## Uncomment to disable graphical terminal (grub-pc only)
#GRUB_TERMINAL=console

## The resolution used on graphical terminal
## Note that you can only use resolutions specified in your gfxpayload.
## See the Graphics chapter in the Grub manual for more details.
#GRUB_GFXMODE=640x480

## Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to the Linux kernel
#GRUB_DISABLE_LINUX_UUID=true

## Uncomment to disable generation of recovery mode menu entries
#GRUB_DISABLE_RECOVERY="true"

## Uncomment to get a beep at boot start
#GRUB_INIT_TUNE="480 440 1"

Este arquivo contém várias configurações, cada uma explicada por comentários que começam com #. Por exemplo:

  • GRUB_DEFAULT: Especifica a entrada de menu padrão para inicializar. 0 geralmente significa a primeira entrada.
  • GRUB_TIMEOUT: Define o tempo em segundos antes que a entrada padrão seja inicializada automaticamente.
  • GRUB_CMDLINE_LINUX_DEFAULT: Contém parâmetros do kernel passados para a entrada de inicialização padrão.

Compreender este arquivo é crucial se você precisar modificar as opções de inicialização, como adicionar parâmetros do kernel para solução de problemas ou alterar o sistema operacional padrão.

Clique em Continuar para passar para a próxima etapa.

Inspecionar os logs do bootloader em dmesg

Nas etapas anteriores, analisamos os arquivos de configuração do GRUB. Agora, vamos examinar as mensagens geradas pelo kernel durante o processo de inicialização. Essas mensagens são armazenadas em um buffer e podem ser visualizadas usando o comando dmesg.

dmesg (buffer de mensagens de diagnóstico) é um comando que imprime o buffer de mensagens do kernel. Ele contém informações sobre dispositivos de hardware, device drivers (drivers de dispositivo) e outras mensagens relacionadas ao kernel que são geradas durante a inicialização do sistema. Esta é uma ferramenta valiosa para solucionar problemas de inicialização.

Digite o seguinte comando no seu terminal e pressione Enter:

dmesg

Isso produzirá uma grande quantidade de texto, mostrando todas as mensagens do kernel desde que o sistema foi iniciado. A saída pode ser avassaladora, por isso é comum filtrá-la ou canalizá-la para um paginador como less para visualizá-la tela por tela.

Para ver mensagens especificamente relacionadas ao bootloader ou ao processo de inicialização inicial, você pode procurar palavras-chave como "GRUB", "boot" ou "kernel command line".

Vamos tentar filtrar a saída usando grep para encontrar linhas contendo "Command line":

dmesg | grep "Command line"

O símbolo | é chamado de pipe (tubo). Ele pega a saída do comando à esquerda (dmesg) e a envia como entrada para o comando à direita (grep). grep é uma ferramenta poderosa para pesquisar padrões de texto. Neste caso, estamos procurando linhas que contenham a frase "Command line".

Você deve ver uma saída semelhante a esta, mostrando os parâmetros da linha de comando do kernel passados pelo bootloader:

[    0.000000] Command line: BOOT_IMAGE=/boot/vmlinuz-... root=UUID=... ro quiet splash

Esta linha mostra a imagem do kernel sendo inicializada (/boot/vmlinuz-...) e os parâmetros do kernel (root=UUID=... ro quiet splash). Esses parâmetros são frequentemente definidos no arquivo /etc/default/grub que vimos na etapa anterior.

Explorar dmesg é essencial para diagnosticar problemas que ocorrem durante o processo de inicialização, pois ele fornece informações detalhadas sobre o que o kernel está fazendo desde o início.

Clique em Continuar para concluir este laboratório.

Resumo

Neste laboratório, aprendemos como verificar se o GRUB é o bootloader usado em um sistema Linux. Começamos listando o conteúdo do diretório /boot/grub usando o comando ls para identificar a presença de arquivos de configuração do GRUB, particularmente grub.cfg. Esta etapa confirmou a existência de uma instalação do GRUB.

Em seguida, examinamos o arquivo /etc/default/grub usando o comando cat. Este arquivo contém as principais configurações para o GRUB, como opções de inicialização padrão e valores de tempo limite. Ao inspecionar este arquivo, verificamos ainda mais que o GRUB está configurado como o bootloader e obtivemos informações sobre seu comportamento.