Capítulo 2.9 - Processo de Inicialização (Boot)
Objetivos de Aprendizagem
Ao final deste capítulo, você será capaz de:
- Compreender o processo de inicialização do Linux
- Explicar as etapas do boot
- Identificar os componentes (BIOS/UEFI, bootloader, kernel, init)
- Solucionar problemas de inicialização
Visão Geral do Boot
A inicialização do Linux segue uma sequência bem definida:
Etapas da Inicialização
1. BIOS/UEFI
Função: Inicialização básica do hardware
Ações:
- Verificação de hardware (POST)
- Detecção de dispositivos
- Carregamento do bootloader a partir do disco
Diferença BIOS vs UEFI:
- BIOS: Antigo, limitações (disco de 2TB)
- UEFI: Moderno, suporta GPT, Secure Boot
2. Bootloader (GRUB)
Função: Carregar o kernel
Ações:
- Exibe o menu de inicialização
- Carrega o kernel e o initramfs
- Passa parâmetros para o kernel
Arquivos:
/boot/grub/grub.cfg(configuração)/boot/vmlinuz-*(kernel)/boot/initrd.img-*(initramfs)
3. Kernel Linux
Função: Inicialização do sistema
Ações:
- Detecta e inicializa o hardware
- Monta o sistema de arquivos raiz
- Inicia o processo init
Parâmetros do kernel:
root=: Partição raizquiet: Menos mensagenssplash: Tela de inicialização
4. Init/systemd (PID 1)
Função: Primeiro processo de usuário
Ações:
- Monta os sistemas de arquivos
- Inicia os serviços
- Alcança o nível de execução alvo
Sequência do systemd:
default.targetativado- Serviços necessários iniciados
- Sistema pronto
Initramfs
initramfs (Initial RAM File System) é um sistema de arquivos temporário em memória:
Funções:
- Carregar os módulos necessários do kernel
- Detectar o hardware
- Montar o sistema de arquivos raiz
- Preparar o ambiente para o init
Sequência Detalhada do systemd
Troubleshooting do Boot
Problemas Comuns
1. Bootloader corrompido:
# Reparar GRUB
sudo grub-install /dev/sda
sudo update-grub
2. Kernel não inicializa:
- Verifique os parâmetros do kernel
- Tente um kernel anterior
- Verifique os logs:
dmesg
3. Initramfs ausente:
# Regenerar initramfs
sudo update-initramfs -u
4. Sistema de arquivos corrompido:
# Modo rescue
fsck /dev/sda1
Comandos Úteis
# Ver mensagens de boot
dmesg
journalctl -b
# Ver tempo de boot
systemd-analyze
systemd-analyze blame
# Ver a cadeia de dependências
systemd-analyze critical-chain
# Ver os serviços que atrasam o boot
systemd-analyze blame | head -10
Resumo
Neste capítulo, você aprendeu:
Sequência de Boot: BIOS → GRUB → Kernel → initramfs → systemd
BIOS/UEFI: Inicialização do hardware
GRUB: Bootloader, carrega o kernel
Kernel: Inicializa o sistema
initramfs: Sistema de arquivos temporário em memória
systemd: Primeiro processo, inicia os serviços
Troubleshooting: Reparação do GRUB, logs, fsck
Próximos Passos
Capítulo 2.10: Comunicação Entre Processos
Módulo 3: Sistema de Arquivos
Capítulo criado em: Dezembro de 2024