Ao iniciar o Linux, às vezes aparecem mensagens de erro na tela e o sistema para antes de chegar à área de trabalho. Embora essas mensagens possam parecer graves, elas normalmente são a pista mais importante para descobrir a causa real do problema.
Neste artigo, vamos explicar em detalhes as causas mais comuns dos erros de inicialização do Linux e os passos que podem ser usados para corrigi-los.
1. Não reinicie o computador várias vezes sem verificar o erro
Quando aparece uma falha na inicialização, muita gente começa a reiniciar o computador repetidamente. Mas, se o problema estiver no sistema de arquivos ou no disco, isso pode piorar a situação.
O melhor é começar fazendo o seguinte:
- anotar a mensagem exata do erro
- tirar uma foto da tela
- observar em que etapa da inicialização o sistema para
- lembrar das últimas alterações feitas no sistema
Se o problema começou depois de uma atualização, a causa pode estar no kernel ou nos drivers. Se houve queda de energia antes disso, o dano ao sistema de arquivos é mais provável.
2. Tipos mais comuns de erros na inicialização
- erros de GRUB ou do bootloader
- erros do sistema de arquivos
- problemas no kernel ou no initramfs
- falha ao iniciar serviços do systemd
- problemas de driver de GPU ou de vídeo
- falta de espaço em disco
- falha física no disco
Mesmo que o sintoma geral seja o mesmo, isto é, o Linux não iniciar, a solução depende do tipo de erro apresentado.
3. Mostrar mensagens detalhadas de inicialização
Muitas distribuições escondem mensagens detalhadas usando quiet splash.
Para descobrir a causa real, é útil remover essa opção temporariamente no GRUB.
- Reinicie o computador
- Logo após ligar, pressione várias vezes Shift ou Esc
- No GRUB, selecione a entrada de inicialização e pressione e
- Remova
quiet splash - Inicie com Ctrl + X
Assim, fica mais fácil ver em que ponto a inicialização está falhando.
4. Se aparecer “grub rescue” ou “no such partition”
Se ao ligar o computador aparecer grub rescue ou um erro como “no such partition”, o problema geralmente está no bootloader ou na estrutura das partições.
Causas comuns:
- as partições foram alteradas ou movidas
- o Windows em dual boot sobrescreveu as informações de inicialização
- a partição EFI ou a partição /boot está danificada
- a configuração do GRUB foi corrompida
Em muitos casos, é possível corrigir isso iniciando com um Live USB e reinstalando o GRUB:
sudo mount /dev/sda2 /mnt
sudo mount /dev/sda1 /mnt/boot/efi # apenas para sistemas UEFI
sudo mount --bind /dev /mnt/dev
sudo mount --bind /proc /mnt/proc
sudo mount --bind /sys /mnt/sys
sudo chroot /mnt
grub-install /dev/sda
update-grub
exit
sudo reboot
Adapte os nomes dos dispositivos ao seu sistema real.
5. Se o sistema entrar em emergency mode
A mensagem You are in emergency mode geralmente significa que o sistema encontrou um problema sério ao montar partições ou ao ler configurações importantes.
Uma causa muito comum é erro no arquivo /etc/fstab.
Primeiro, verifique os logs:
journalctl -xb
Depois, confira o conteúdo do fstab:
cat /etc/fstab
Erros típicos:
- UUID incorreto
- mount point inexistente
- disco externo listado no fstab mas não conectado
Se encontrar o problema, edite o arquivo:
nano /etc/fstab
Depois reinicie o sistema.
6. Se o erro estiver relacionado ao fsck ou ao sistema de arquivos
Mensagens como fsck failed ou UNEXPECTED INCONSISTENCY normalmente indicam dano no sistema de arquivos.
Isso acontece com frequência após queda de energia ou desligamento forçado.
O mais seguro é fazer a verificação a partir do Recovery Mode ou de um Live USB:
sudo fsck -f /dev/sda1
Não execute fsck diretamente em uma partição raiz ativa que já esteja montada.
Também vale a pena verificar a saúde do disco:
sudo smartctl -a /dev/sda
Se o SMART mostrar muitos erros, o mais importante é salvar os dados primeiro.
7. Se serviços do systemd falharem
Às vezes o kernel do Linux já iniciou, mas um serviço importante não consegue ser iniciado, impedindo a conclusão da inicialização. Nessa situação, podem aparecer mensagens como:
Failed to start ...Dependency failed for ...
Nesse caso, tente entrar em um TTY:
Ctrl + Alt + F2
Depois do login, verifique os serviços com falha:
systemctl --failed
journalctl -xb
Para um serviço específico:
systemctl status NetworkManager
journalctl -u NetworkManager -b
Se o serviço problemático não for crítico, ele pode ser desativado temporariamente para testar se o sistema continua a inicialização.
8. Se o problema estiver no kernel ou no initramfs
Se o erro começou depois de uma atualização do kernel, o novo kernel ou o initramfs pode ser a causa. Nesse caso, tente usar um kernel mais antigo a partir do GRUB:
- Abra o GRUB
- Selecione Advanced options
- Escolha uma versão mais antiga do kernel
Se isso funcionar, é possível recriar o initramfs:
sudo update-initramfs -u
9. Se a causa for o driver da GPU
Às vezes o Linux já iniciou por dentro, mas o ambiente gráfico não aparece por causa de um problema no driver da GPU. Isso é especialmente comum após atualizações da NVIDIA.
Tente adicionar temporariamente nomodeset no GRUB:
linux /boot/vmlinuz ... quiet splash nomodeset
Se o sistema iniciar desse jeito, isso indica fortemente um problema no driver gráfico. Depois disso, o driver pode ser reinstalado.
10. Não se esqueça de verificar o espaço livre em disco
Às vezes a causa real é muito simples: a partição raiz ou /boot está completamente cheia.
Quando isso acontece, as atualizações falham e a próxima inicialização pode quebrar.
Verifique o espaço com:
df -h
Se o disco estiver quase cheio, limpe o cache e os pacotes antigos:
sudo apt clean
sudo apt autoremove
Também pode ser necessário remover kernels antigos e arquivos de log grandes.
11. Se nada funcionar, faça backup dos dados primeiro
Se TTY, Recovery Mode e os métodos normais de reparo não ajudarem, o mais seguro é iniciar com um Live USB e salvar primeiro os arquivos importantes. Isso é ainda mais importante se houver suspeita de falha física do disco.
Com um Live USB você pode:
- copiar arquivos importantes
- executar fsck
- reinstalar o GRUB
- verificar arquivos de configuração
- avaliar o estado do disco
Resumo
O fato de o Linux mostrar uma mensagem de erro na inicialização não significa necessariamente que seja preciso reinstalar o sistema inteiro. Em muitos casos, o problema pode ser resolvido se a mensagem for lida com atenção e a causa for analisada passo a passo.
- anote o erro exato
- mostre as mensagens detalhadas de inicialização
- use TTY, Recovery Mode ou Live USB
- verifique GRUB, sistema de arquivos, serviços, kernel, drivers e espaço em disco
- se suspeitar de falha no disco, salve os dados primeiro
O mais importante é não reinstalar às cegas, mas usar a mensagem de erro como pista para encontrar a causa real.