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

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

Toda vez que você liga no 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 de inicialização típico.

Prompt de login do usuário

Neste guia, destacaremos as várias etapas tomadas pelo sistema operacional Linux a partir do momento em que ele é alimentado no momento em que você faz login. Por favor, observe que este guia só leva em consideração o GRUB2 bootloader e Systemd init como eles estão atualmente em uso por uma grande maioria das distribuições modernas do Linux.

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

  • BIOS Verificação de integridade (PUBLICAR)
  • Carregando do 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 ligar Botão - se o PC já estiver desligado - ou reinicie o sistema usando a GUI ou na linha de comando.

Quando o sistema Linux liga, o BIOS (Sistema Básico de Entrada e Saída) entra em ação e executa um Poder no auto -teste (PUBLICAR). Esta é uma verificação de integridade que executa uma infinidade de verificações de diagnóstico.

O PUBLICAR sonda a operação de hardware de componentes como o HDD ou SSD, Teclado, BATER, USB portas e qualquer outra peça de hardware. Se algum dispositivo de hardware não for detectado, ou se houver um mau funcionamento em qualquer um dos dispositivos como um disco rígido corrupto ou SSD, uma mensagem de erro será divulgada na tela solicitando sua intervenção.

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

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

Uma vez o PUBLICAR está completo e a costa é clara, o BIOS sonda o Mbr (Registro de inicialização mestre) para o bootloader e informações de particionamento de disco.

O Mbr é um código de 512 bytes localizado no primeiro setor do disco rígido que geralmente é /Dev/SDA ou /Dev/HDA Dependendo da sua arquitetura do disco rígido. Observe, no entanto, que às vezes o Mbr pode ser localizado em um Viva USB ou DVD Instalação do Linux.

Existem 3 tipos principais de carregadores de botas no Linux: LILO, Grub, e GRUB2. O GRUB2 O BootLoader é o mais recente e primário carregador de inicialização nas distribuições modernas do Linux e informa nossa decisão de deixar de fora os outros dois que se tornaram antiquados com a passagem do tempo.

GRUB2 apoia Grand Unified Bootloader versão 2. Uma vez o BIOS Localiza o carregador de inicialização Grub2, ele executa e o carrega na memória principal (BATER).

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

Selecione a versão do kernel

Além disso, em uma configuração de boot duplo onde você tem várias instalações do sistema operacional, o menu Grub permite selecionar qual sistema operacional inicializar. O arquivo de configuração do GRUB2 é o /bota/Grub2/Grub2.cfg arquivo. O principal objetivo de Grub é carregar o kernel Linux na memória principal.

3. Inicialização do kernel

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

Processo de inicialização do kernel

Iniciar é 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 que são especificadas no /etc/fstab arquivo.

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

4.Iniciando Systemd

O kernel finalmente carrega Systemd, qual é a substituição do antigo Sysv iniciar. Systemd é a mãe de todos os processos Linux e gerencia, entre outras coisas, aumentando os sistemas de arquivos, iniciando e parando os serviços para mencionar apenas alguns.

Systemd usa o /etc/Systemd/System/Padrão.alvo arquivo para determinar o estado ou o destino que o sistema Linux deve inicializar.

  • Para uma estação de trabalho para desktop (com uma GUI), o valor alvo padrão é 5, que é o equivalente ao nível 5 da corrida para o antigo Systemv Init.
  • Para um servidor, o alvo padrão é multi usuário.alvo que corresponde ao nível 3 no SYSV init.

Aqui está um colapso dos objetivos do Systemd:

  • desligar.Target (Runlevel 0): PowerOff ou desligamento do sistema.
  • resgatar.Target (Runlevel 1): inicia uma sessão de concha de resgate.
  • multi usuário.Target (Nível Runle 2,3,4): Configura o sistema para um sistema multiusuuário não gráfico (console).
  • gráfico.Target (Runlevel 5): Defina o sistema para usar uma interface gráfica de vários usuários com serviços de rede.
  • reinício.Target (Runlevel 6): reinicie o sistema.

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

$ Systemctl Get-Default 
Verifique o nível de execução

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

$ init runlevel-valor 

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

O init 6 comando reinicia seu sistema e init 0 pode fora do sistema. Certifique -se de invocar Comando sudo Quando você deseja mudar para esses dois alvos.

O processo de inicialização termina uma vez Systemd Carrega todos os daemons e define o valor do alvo ou o nível de execução. É neste momento você é solicitado para seu nome de usuário e senha na qual você obtém entrada para o seu sistema Linux.