Verificação e correção do sistema de arquivos: comandos fsck
1. Por que é importante verificar o sistema de arquivos?
O sistema de arquivos no Linux é realmente um dos "funcionários" mais "ocupados" do sistema operacional. Ele trabalha enquanto você salva arquivos, abre programas ou simplesmente lê dados. Agora imagina: no momento mais crítico, esse funcionário se cansa e resolve desmaiar (leia-se: o sistema desligou por causa de uma queda de energia). Isso pode levar a danos na tabela de arquivos, perda de dados ou vários outros problemas desagradáveis.
Mas o que pode dar errado?
- Queda repentina de energia — seu dispositivo desligou de repente sem terminar de gravar os dados.
- Erro de armazenamento — o HD ou SSD pode ter falhas de hardware que danifiquem o sistema de arquivos.
- Erros de software — bugs nos drivers ou ferramentas do sistema não estão descartados.
Geralmente, depois de eventos assim, o sistema de arquivos fica danificado, e o sistema pode te pedir para verificar o estado dele. É aí que entra o fsck
, que significa File System Check.
2. O que é fsck
e como ele funciona?
A ideia da ferramenta
fsck
— é uma ferramenta universal que verifica a integridade do sistema de arquivos e corrige os erros encontrados. Funciona como um médico: realiza testes, encontra o problema e, se possível, "cura". Se o problema for muito sério, fsck
pelo menos consegue diagnosticar o que deu errado.
Quando usar fsck
?
- Em falhas evidentes com arquivos (por exemplo, eles de repente "sumiram").
- Se o sistema não iniciar e relatar um erro do sistema de arquivos.
- Para manutenção regular, pra se certificar de que está tudo certo.
3. Sintaxe principal do fsck
Pra usar o fsck
, geralmente se utiliza o seguinte comando:
fsck [opções] <dispositivo>
Opções principais:
-y
— Confirma automaticamente as correções. Isso é útil se você não quiser ficar digitandoyes
pra cada pergunta.-n
— Apenas verificação, sem correção (modo dry run). Útil pra analisar a situação se você está com medo de estragar algo.-t
— Especificar o tipo do sistema de arquivos (por exemplo,ext4
,xfs
).-r
— Ativar o modo interativo (você confirma cada correção).
4. Prática: verificação do sistema de arquivos
Bora começar com uma verificação básica. Digamos que temos um dispositivo /dev/sdb1
que queremos verificar.
Passo 1: Verificação sem correções
Primeiro, vamos avaliar o estado do sistema de arquivos sem fazer alterações:
fsck -n /dev/sdb1
Depois de rodar o comando, você verá uma lista de problemas encontrados, se houver. Aqui está um exemplo de saída:
Inodes que faziam parte de uma lista órfã corrompida encontrados.
Erros no sistema de arquivos detectados. Execute fsck para reparar.
Passo 2: Correção automática
Agora vamos ativar o modo de correção de erros:
fsck -y /dev/sdb1
fsck
tentará corrigir cada erro encontrado e confirmar automaticamente a ação. Isso pode levar algum tempo caso o dispositivo seja grande.
5. O que fazer se o sistema de arquivos estiver em uso?
Erro ao executar fsck
Se você tentar executar o fsck
em uma partição que já está montada, vai receber o seguinte aviso:
fsck: cannot check a mounted filesystem.
Isso acontece porque verificar um sistema de arquivos montado pode causar danos aos dados. Há algumas maneiras de resolver esse problema.
- Monte o dispositivo no modo somente leitura.
mount -o remount,ro /dev/sdb1
- Use um LiveCD ou LiveUSB.
Inicialize a partir de um disco ou pendrive de recuperação para realizar a verificação no dispositivo já desmontado.
- Use o modo de recuperação.
Reinicie o sistema no modo de recuperação, que geralmente oferece um ambiente seguro para realizar a verificação.
Particularidades da verificação do sistema de arquivos raiz /
O sistema de arquivos raiz é um caso único, pois ele é ativamente usado pelo sistema. Para executar o fsck
nesse tipo de partição, será necessário:
- Entrar no modo de usuário único com o comando:
systemctl isolate rescue.target
- Executar manualmente o
fsck
:
fsck -y /
6. Erros típicos e como corrigí-los
inodes corrompidos
Se fsck
reportar inodes corrompidos (estruturas que armazenam informações sobre arquivos), ele vai sugerir removê-los. Isso é seguro, já que um inode corrompido não está mais ligado a arquivos existentes.
Arquivos perdidos
Às vezes, depois de rodar fsck
, arquivos perdidos vão parar no diretório lost+found
na raiz do sistema de arquivos. Você pode verificar esse local manualmente para recuperar dados importantes.
Recomendações importantes
Sempre faça backups antes de realizar verificações. Mesmo que
fsck
normalmente funcione de forma segura, correções podem levar à perda de dados.Não execute
fsck
em partições montadas. Isso pode causar corrupção de dados.Use a flag
-n
para uma análise inicial. Se não tem certeza se deve corrigir erros automaticamente, comece com uma execução simulada.
7. Exemplo: Simulação de erro e correção
- Crie um disco virtual e crie um sistema de arquivos nele:
dd if=/dev/zero of=./disk.img bs=1M count=100
mkfs.ext4 ./disk.img
- Monte o disco:
sudo mount ./disk.img /mnt/test/
- Simule um dano:
sudo dd if=/dev/zero of=/mnt/test/randomfile bs=512 count=10
- Desmonte o disco e verifique-o:
sudo umount /mnt/test/
fsck ./disk.img
Seguindo as saídas do comando, corrija os erros.
Neste ponto, você entende com confiança a verificação do sistema de arquivos, consegue corrigir erros corretamente e prevenir falhas. Novas ferramentas de trabalho com sistemas de arquivos nos aguardam no futuro, mas agora fsck
é sua ferramenta confiável para diagnóstico e correção.
GO TO FULL VERSION