Quando ligamos um computador, ele passa por uma sequência de ações conhecida como “inicialização”, um termo derivado da palavra “bootstrap”. Este processo, que ocorre nos bastidores, é similar tanto em sistemas Windows, Mac quanto Linux.
Ativação do Hardware
Ao pressionar o botão de ligar, a energia é distribuída para todos os componentes do computador: placa-mãe, CPU, discos rígidos, unidades de estado sólido, processadores gráficos e demais elementos.
O componente responsável por fornecer energia é a “fonte de alimentação”. Em um computador desktop, ela se assemelha a uma caixa localizada no canto do gabinete (a peça amarela na imagem), sendo o ponto de conexão do cabo de energia.
Carregamento da UEFI ou BIOS pela CPU
Com a energia ativada, a CPU inicia e busca um programa armazenado em um chip na placa-mãe.
Antigamente, os computadores carregavam o BIOS (Basic Input/Output System). Em computadores mais recentes, a CPU carrega o firmware UEFI (Unified Extensible Firmware Interface), um substituto moderno para o antigo BIOS. Contudo, alguns fabricantes ainda se referem ao seu software UEFI como “BIOS”, o que pode gerar confusão.
Testes e Inicialização do Hardware pela UEFI ou BIOS
O firmware BIOS ou UEFI carrega configurações armazenadas em um local específico da placa-mãe, geralmente na memória com o respaldo de uma bateria CMOS. Mudanças em configurações de baixo nível são salvas nesse local.
A CPU executa a UEFI ou BIOS, que realiza testes e inicializa o hardware do sistema, incluindo a própria CPU. Se, por exemplo, o computador não detectar RAM, ele emitirá um alerta sonoro e exibirá um erro, interrompendo o processo. Este procedimento é conhecido como POST (Power On Self Test).
Durante essa fase, é comum ver o logo do fabricante do computador na tela. Frequentemente, um botão específico pode ser pressionado para acessar as configurações do BIOS ou UEFI. No entanto, muitos computadores modernos realizam esse processo rapidamente, omitindo o logo e exigindo acesso às configurações UEFI por meio do menu de opções de inicialização do Windows.
A UEFI possui capacidades que vão além da inicialização do hardware, funcionando como um sistema operacional em miniatura. Por exemplo, as CPUs da Intel incluem o Intel Management Engine, oferecendo funcionalidades como a tecnologia de gerenciamento ativo da Intel, que permite o controle remoto de computadores empresariais.
Transferência para o Dispositivo de Inicialização
Após completar os testes e a inicialização do hardware, a UEFI ou BIOS passa a responsabilidade de inicializar o computador para o gerenciador de inicialização do sistema operacional.
A UEFI ou BIOS procura um “dispositivo de inicialização”, geralmente o disco rígido ou SSD, mas pode ser um CD, DVD, unidade USB ou até um local de rede. A ordem de prioridade desses dispositivos pode ser configurada nas definições da UEFI ou BIOS. Caso existam vários dispositivos, o sistema tentará iniciar por eles na ordem definida.
Tradicionalmente, o BIOS procurava o MBR (Master Boot Record), um setor especial no início do disco que continha código para carregar o restante do sistema operacional, o “bootloader”. O BIOS executava o bootloader, que dava continuidade ao processo e iniciava o sistema operacional, como Windows ou Linux.
Computadores com UEFI podem utilizar o método de inicialização MBR, mas geralmente utilizam um executável EFI, que não precisa estar no início do disco, mas sim em uma “partição do sistema EFI”.
O princípio é similar: a BIOS ou UEFI busca em um dispositivo de armazenamento um pequeno programa, seja no MBR ou em uma partição do sistema EFI, e o executa. Se não houver nenhum dispositivo de inicialização disponível, o processo falhará e uma mensagem de erro será exibida.
Em computadores modernos, o firmware UEFI é configurado para “Inicialização Segura”, assegurando que o sistema operacional não foi modificado e que não há malware sendo executado. Com a inicialização segura ativada, a UEFI verifica se o carregador de inicialização tem a assinatura digital correta.
Carregamento Completo do Sistema Operacional pelo Bootloader
O bootloader é o programa responsável por iniciar o restante do sistema operacional. No Windows, o bootloader é o Gerenciador de Inicialização do Windows (Bootmgr.exe), no Linux é o GRUB, e nos Macs é o boot.efi.
Se houver algum problema com o bootloader, como arquivos corrompidos, uma mensagem de erro será exibida e o processo de inicialização será interrompido.
O bootloader é apenas um programa pequeno que delega o restante do processo de inicialização. No Windows, o Gerenciador de Inicialização do Windows encontra e inicia o Windows OS Loader, que carrega os drivers de hardware essenciais para executar o kernel – o núcleo do sistema operacional Windows. O kernel, por sua vez, carrega o Registro do sistema na memória e os drivers marcados com “BOOT_START”. O kernel então inicia o processo do gerenciador de sessão (Smss.exe), que inicia a sessão do sistema e carrega outros drivers. Este processo prossegue até que o Windows carregue serviços em segundo plano e exiba a tela de boas-vindas.
No Linux, o bootloader GRUB carrega o kernel do Linux. O kernel inicia o sistema init, que é o systemd na maioria das distribuições modernas. O sistema init gerencia a inicialização de serviços e outros processos do usuário até que um prompt de login seja exibido.
Este processo complexo assegura que tudo seja carregado corretamente e na ordem certa.
É importante notar que os chamados “programas de inicialização” são, na verdade, carregados quando o usuário faz login na sua conta, e não durante a inicialização do sistema. No entanto, alguns serviços em segundo plano (no Windows) ou daemons (no Linux e macOS) são iniciados durante a inicialização do sistema.
O processo de desligamento também é bastante complexo. Este é o que ocorre ao desligar ou sair de um PC com Windows.
Crédito da imagem: Suwan Waenlor/Shutterstock.com, Imagens DR/Shutterstock.com,