Inicialização de um PC com Linux: entenda o que é BIOS, MBR, GRUB, Kernel!

Bootloader GRUB 2.12 traz suporte SDL2 e interface do carregador de boot
grub

Entenda tudo o que acontece durante o processo de inicialização do Linux. Vamos explicar o que acontece no momento em que você pressiona o botão de energia no seu sistema Linux. Porém, possa ser que você nunca tenha percebido, mas muita coisa acontece até que o desktop Linux seja carregado.

Assim, tudo começa com um botão, depois as informações de hardware e por fim suas credenciais. Mas, como dito, cada item tem nome e momento certo para iniciar. Desta forma, todo o processo de inicialização de sistemas Linux estão interligados, e um chama o outro.

Entendendo a inicialização no Linux

Para começar, vamos falar da BIOS. Mas, não se preocupe, BIOS não quer dizer Bicho Ignorante Operando o Sistema, isso coisa de estudante. Mas, piadas a parte, vamos ao que interessa.

O que é BIOS?

  • BIOS significa Basic Input/Output System
  • Executa algumas verificações de integridade do sistema
  • Pesquisas, cargas e executa o programa gerenciador de inicialização.
  • Ele procura por carregador de boot no disquete, cd-rom, ou disco rígido. Você pode pressionar uma tecla (normalmente F12 de F2, mas isso depende de seu sistema) durante a inicialização do BIOS para alterar a sequência de inicialização.
  • Uma vez que o programa gerenciador de inicialização é detectado e carregado na memória, BIOS dá o controle para ele.
  • Assim, em termos simples BIOS carrega e executa o gerenciador de inicialização MBR.

O que é MBR?

  • MBR significa Master Boot Record.
  • Ele está localizado no 1 º setor do disco de boot. Tipicamente /dev/hda ou /dev/sda
  • MBR é inferior a 512 bytes de tamanho. Esta tem três componentes 1) Informação do carregador de inicialização primário em 1 446 bytes 2) info tabela de partição nos próximos 64 bytes 3) mbr verificação de validação nos últimos 2 bytes.
  • Ele contém informações sobre GRUB (ou o LILO em sistemas antigos).
  • Assim, em termos simples MBR carrega e executa o carregador de boot GRUB.

O que é o GRUB?

  • GRUB significa Grand Unified Bootloader.
  • Se você tem várias imagens de kernel instalados em seu sistema, você pode escolher qual delas deve ser executada.
  • GRUB exibe uma tela inicial, espera por alguns segundos, se você não digite nada, ele carrega a imagem do kernel padrão conforme especificado no arquivo de configuração do GRUB.
  • GRUB tem o conhecimento do sistema de arquivos (o mais velho carregador do Linux LILO não entendia sistema de arquivos).
  • Arquivo de configuração do GRUB é o /boot/grub/grub.conf (/etc/grub.conf é um link para isso). O seguinte é grub.conf amostra do Ubuntu.#boot=/dev/sda default=0 timeout=5 splashimage=(hd0,0)/boot/grub/splash.xpm.gz hiddenmenu title Ubuntu (2.6.18-194.el5PAE) root (hd0,0) kernel /boot/vmlinuz-5.X.X-XX.el5PAE ro root=LABEL=/initrd /boot/initrd-x.x.x-x.el5PAE.img
  • Como você notar com a informação acima, que contém o kernel e imagem initrd.
  • Então, em termos simples, o GRUB apenas carrega e executa o Kernel e imagens initrd.

O que é o Kernel?

  • Monta o sistema de arquivos raiz, conforme especificado no “root =” no grub.conf
  • Kernel executa a sbin/ programa /init
  • Desde o init foi o primeiro programa a ser executado pela Linux Kernel, que tem o ID do processo (PID) de 1 Faça um ‘ps-ef | grep init. E verifique o pid.
  • initrd significa disco RAM inicial.
  • initrd é usado pelo kernel como sistema de arquivos raiz temporária até kernel é carregado e o sistema de arquivos raiz real é montado. Ele também contém os drivers necessários e compilados, e assim facilta o acesso as partições do disco rígido, e outros hardwares.

O que é o INIT?

  • Faz a leitura do arquivo /etc/inittab para decidir o nível de execução do Linux.
  • Seguem-se os níveis de execução disponíveis
  • 0 – halt
  • 1 – Modo de usuário único
  • 2 – Multiusuário, sem NFS
  • 3 – Modo multiusuário completo
  • 4 – não usado
  • 5 – X11
  • 6 – reinicialização
  • Init identifica o initlevel padrão do arquivo /etc/inittab e usa para carregar todos os programas apropriados.
  • Executar ‘grep initdefault /etc/inittab’ em seu sistema para identificar o nível de execução padrão
  • Se você gosta de correr riscos, você pode definir o nível de execução padrão para 0 ou 6. Desde que você sabe o que 0 e 6 significa.
  • Normalmente, você deve definir o nível de execução padrão para 3 ou 5

Programas de Nível de Execução no Linux

  1. Quando o sistema Linux está inicializando, você pode ver vários serviços de começar. Por exemplo, pode dizer “a partir sendmail …. OK “. Esses são os programas de nível de execução, executados a partir do diretório de nível de execução, conforme definido pelo seu nível de execução.
  2. Dependendo da sua configuração de nível de inicialização padrão, o sistema irá executar os programas a partir de um dos seguintes diretórios.
  • Nível de execução 0 – /etc/rc.d/rc0.d/
  • Nível de execução 1 – /etc/rc.d/rc1.d/
  • Nível de execução 2 – /etc/rc.d/rc2.d/
  • Nível de execução 3 – /etc/rc.d/rc3.d/
  • Nível de execução 4 – /etc/rc.d/rc4.d/
  • Nível de execução 5 – /etc/rc.d/rc5.d/
  • Nível de execução 6 – /etc/rc.d/rc6.d/
  1. Preste atenção, note que também há links simbólicos disponíveis para estes diretórios em /etc diretamente. Assim, /etc/rc0.d está ligada a /etc/rc.d/rc0.d.
  2. Sob o /etc/rc.d/rc *. D/ diretórios, você veria os programas que começam com S e K.
  3. Programas começa com S são usados durante a inicialização. S para a inicialização.
  4. Programas começa com K são utilizados durante o encerramento. K para matar.
  5. Há um número ao lado S e K nos nomes dos programas. Esses são o número de sequência em que os programas devem ser iniciados ou mortos.
  6. Por exemplo, S12syslog é iniciar o deamon syslog, que tem o número de sequência de 12. S80sendmail é iniciar o daemon sendmail, que tem o número de sequência de 80. Assim, o programa syslog será iniciado antes de sendmail.

Agora, você já compreende o que acontece durante o processo de inicialização do Linux. Por mais rápido que pareça, tudo é bem complexo. Mas, complexo para máquinas, nós já conseguimos desvendar este pequeno mistério.

Além disso, você também pode consultar uma lista que preparamos com as melhores distribuições Linux e também, as distribuições Linux para PCs antigos.