back to top

Um guia básico para o processo de inicialização do Linux

Cada vez que você liga seu PC Linux, ele passa por uma série de estágios antes de finalmente exibir uma tela de login que solicita seu nome de usuário ou senha. Existem 4 estágios distintos pelos quais toda distribuição Linux passa em um processo típico de inicialização.

Neste guia, destacaremos as várias etapas executadas pelo sistema operacional Linux desde o momento em que ele é ligado até o momento em que você faz login. Observe que este guia leva em consideração apenas o carregador de inicialização GRUB2 e o init do systemd conforme estão em uso atualmente. pela grande maioria das distribuições Linux modernas .

O processo de inicialização segue as 4 etapas a seguir que discutiremos com mais detalhes:

  • Verificação de integridade do BIOS ( POST )
  • Carregando o carregador de inicialização ( GRUB2 )
  • Inicialização do kernel
  • Iniciando systemd , o pai de todos os processos

1. A verificação de integridade do BIOS (POST)

O processo de inicialização geralmente é inicializado quando um usuário pressiona o botão liga/desliga – se o PC já estiver desligado – ou reinicia o sistema usando a GUI ou a linha de comando.

Quando o sistema Linux é inicializado, o BIOS ( Basic Input Output System ) entra em ação e executa um Power On Self Test ( POST ). Esta é uma verificação de integridade que realiza uma infinidade de verificações de diagnóstico.

O POST investiga a operabilidade de hardware de componentes como HDD ou SSD , teclado , RAM , portas USB e qualquer outra peça de hardware. Se algum dispositivo de hardware não for detectado ou se houver um mau funcionamento em algum dos dispositivos, como um HDD ou SSD corrompido, uma mensagem de erro aparecerá na tela solicitando sua intervenção.

Em alguns casos, um sinal sonoro soará especialmente no caso de falta de um módulo de RAM. No entanto, se o hardware esperado estiver presente e funcionando conforme esperado, o processo de inicialização prosseguirá para o próximo estágio.

2. O carregador de inicialização (GRUB2)

Assim que o POST for concluído e tudo estiver limpo, o BIOS sonda o MBR ( Master Boot Record ) em busca do carregador de inicialização e das informações de particionamento do disco.

O MBR é um código de 512 bytes localizado no primeiro setor do disco rígido, normalmente /dev/sda ou /dev/hda dependendo da arquitetura do disco rígido. Observe, entretanto, que às vezes o MBR pode estar localizado em uma instalação Live USB ou DVD do Linux.

Existem 3 tipos principais de bootloaders no Linux: LILO , GRUB e GRUB2 . O bootloader GRUB2 é o bootloader mais recente e principal nas distribuições Linux modernas e informa nossa decisão de deixar de fora os outros dois que se tornaram antiquados com o passar do tempo.

GRUB2 significa GRand Unified Bootloader versão 2. Assim que o BIOS localiza o bootloader grub2, ele o executa e carrega na memória principal ( RAM ).

O menu grub2 permite que você faça algumas coisas. Ele permite que você selecione a versão do kernel Linux que deseja usar. Se você atualizou seu sistema algumas vezes, poderá ver diferentes versões de kernel listadas. Além disso, oferece a capacidade de editar alguns parâmetros do kernel pressionando uma combinação de teclas do teclado.

Além disso, em uma configuração de inicialização dupla em que você tem várias instalações de sistema operacional, o menu grub permite selecionar em qual sistema operacional inicializar. O arquivo de configuração do grub2 é o arquivo /boot/grub2/grub2.cfg. O principal objetivo do GRUB é carregar o kernel Linux na memória principal.

3. Inicialização do Kernel

O kernel é o núcleo de qualquer sistema Linux. Ele faz a interface do hardware do PC com os processos subjacentes. O kernel controla todos os processos do seu sistema Linux. Depois que o kernel Linux selecionado for carregado pelo bootloader, ele deverá ser auto-extraído de sua versão compactada antes de realizar qualquer tarefa. Após a auto-extração, o kernel selecionado monta o sistema de arquivos raiz e inicializa o programa /sbin/init comumente referido como init.

Init é sempre o primeiro programa a ser executado e recebe o ID do processo ou PID de 1. É o processo init que gera vários daemons e monta todas as partições especificadas no arquivo /etc/fstab .

O kernel então monta o disco RAM inicial ( initrd ), que é um sistema de arquivos raiz temporário até que o sistema de arquivos raiz real seja montado. Todos os kernels estão localizados no /bootdiretório junto com a imagem inicial do disco RAM.

4.Iniciando o Systemd

O kernel finalmente carrega Systemd , que é a substituição do antigo init SysV . Systemd é a mãe de todos os processos Linux e gerencia, entre outras coisas, a montagem de sistemas de arquivos, iniciando e interrompendo serviços, para citar apenas alguns.

Systemd usa o arquivo /etc/systemd/system/default.target para determinar o estado ou destino em que o sistema Linux deve inicializar.

  • Para uma estação de trabalho desktop (com uma GUI), o valor alvo padrão é 5, que é equivalente ao nível de execução 5 para o antigo init do SystemV.
  • Para um servidor, o destino padrão é multi-user.target que corresponde ao nível de execução 3 no SysV init.

Aqui está um detalhamento dos alvos do systemd:

  • poweroff.target (nível de execução 0) : Desliga ou desliga o sistema.
  • Rescue.target (nível de execução 1) : inicia uma sessão de shell de resgate.
  • multi-user.target (nível de execução 2,3,4) : configura o sistema para um sistema multiusuário não gráfico (console).
  • graphical.target (nível de execução 5) : define o sistema para usar uma interface gráfica multiusuário com serviços de rede.
  • reboot.target (nível de execução 6) : reinicia o sistema.

Para verificar o destino atual em seu sistema, execute o comando:

$ systemctl get-default
Verifique o nível de execução

Você pode mudar de um destino para outro executando o seguinte comando no terminal:

$ init runlevel-value

Por exemplo, init 3 configura o sistema para um estado não gráfico.

O comando init 6 reinicia o sistema e o init 0 desliga o sistema. Certifique-se de invocar o comando sudo quando quiser mudar para esses dois destinos.

O processo de inicialização termina quando o systemd carrega todos os daemons e define o valor de destino ou nível de execução. É neste ponto que você será solicitado a fornecer seu nome de usuário e senha para obter acesso ao seu sistema Linux.

Eleve sua experiência no KDE Plasma com estes 15 widgets essenciais

KDE Plasma é um ambiente de desktop fantástico. É popular por seu conjunto de...

Como atualizar para Linux Mint 22 [Tutorial passo a passo]

É fácil atualizar para o Linux Mint 22. Veja como você pode fazer isso.

Análise do Linux Mint 22: atualização sutil e impactante

Após cada lançamento do Ubuntu LTS, começa a espera por atualizações para alguns dos...

- Uma palavra do nosso patrocinador -

Hospedagem de sites ilimitada superdomínios