Como executar o fsck para reparar erros de disco e sistema de arquivos do Linux

Os sistemas de arquivos Linux são responsáveis ​​por organizar como os dados são armazenados e recuperados. Com o tempo – devido a falhas repentinas de energia, desligamentos forçados, problemas de hardware ou bugs de software – um sistema de arquivos pode ser corrompido e certas partes dele podem ficar inacessíveis.

Quando isso acontece, você precisa de uma maneira confiável de detectar e corrigir essas inconsistências antes que elas causem perda de dados ou instabilidade do sistema. É aqui que fsck (Verificação de consistência do sistema de arquivos) entra.

Neste artigo, abordaremos tudo o que você precisa saber sobre fsck desde o uso básico até a execução segura em partições raiz e de produção.

O que é fsck no Linux?

fsck é um utilitário integrado do Linux usado para verificar e reparar inconsistências no sistema de arquivos. Funciona de forma semelhante a chkdsk no Windows. A ferramenta pode ser executada automaticamente durante a inicialização do sistema ou manualmente pelo administrador do sistema.

Dependendo do tipo de sistema de arquivos (ext2, ext3, ext4, xfsetc.), fsck chama o verificador de back-end apropriado, por exemplo, e2fsck para sistemas de arquivos ext-família.

Quando você deve executar o fsck?

Aqui estão os cenários mais comuns em que a execução fsck é necessário ou recomendado:

  • O sistema não consegue inicializar ou entra no modo de emergência/resgate.
  • Você vê erros de entrada/saída ao ler ou gravar arquivos.
  • Uma unidade (HDD, SSD, unidade flash USB ou cartão SD) não está funcionando como esperado.
  • Depois de um desligamento impuro – perda de energia, kernel panic ou reinicialização forçada.
  • Manutenção de rotina – verificações periódicas de integridade em servidores críticos.
  • Sistema de arquivos relata corrupção nos logs do kernel (saída dmesg).

Dica de produção: Sempre verifique /var/log/syslog ou run dmesg | grep -i erro antes de agendar um fsck, o que ajuda você a entender o escopo do problema antes de mergulhar.

Sintaxe do comando fsck:

fsck (options) (filesystem)

fsck deve ser executado com superusuário (raiz) privilégios, e aqui estão as opções mais importantes:

OpçãoDescrição
-AVerifique todos os sistemas de arquivos listados em /etc/fstab
-CMostrar uma barra de progresso durante a verificação
-lBloqueie o dispositivo para evitar que outros programas o acessem durante a verificação
-MIgnore os sistemas de arquivos montados (não os verifique)
-NTeste – mostre o que seria feito sem fazer nenhuma alteração
-PVerifique os sistemas de arquivos em paralelo, incluindo root
-RIgnore o sistema de arquivos raiz (use com -A)
-rMostrar estatísticas por dispositivo
-TSuprimir o banner do título
-t fstypeVerifique apenas um tipo específico de sistema de arquivos (por exemplo, ext4)
-VVerboso – descreva o que está sendo feito
-yResponda “sim” automaticamente a todas as solicitações de reparo
-nResponda “não” automaticamente a todas as solicitações de reparo (verificação somente leitura)
-fForçar verificação mesmo que o sistema de arquivos pareça limpo

Como verificar qual tipo de sistema de arquivos você possui

Antes de correr fsckconfirme o tipo de sistema de arquivos da sua partição:

lsblk -f
Or
blkid /dev/sdb1

Isto é importante porque fsck delega para ferramentas específicas de tipo, como e2fsck (ext4), fsck.xfs, fsck.vfatetc.

Verifique o tipo de sistema de arquivos antes de executar o fsck

Importante: nunca execute fsck em uma partição montada

Correndo fsck em uma partição montada pode causar grave corrupção de dados, portanto, sempre desmonte a partição primeiro.

Para verificar se uma partição está montada:

mount | grep /dev/sdb

Se estiver montado, desmonte-o:

umount /dev/sdb1

Se o dispositivo estiver ocupado, descubra o que está usando usando o comando lsof:

lsof /dev/sdb1

Em seguida, tente uma desmontagem lenta:

umount -l /dev/sdb1

Executando fsck para verificar e reparar uma partição

Para realizar uma verificação básica do sistema de arquivos, execute o comando a seguir, que verificará e solicitará interativamente a correção de cada erro encontrado.

fsck /dev/sdb1

Para servidores de produção onde você deseja automatizar reparos, use o -y bandeira.

fsck -y /dev/sdb1

Para ver o que fsck faria sem tocar em nada:

fsck -N /dev/sdb1

Dica de produção: Sempre faça primeiro um teste em sistemas críticos antes de iniciar os reparos. Revise o resultado e decida se deseja continuar.

Se o sistema de arquivos foi marcado como limpo, mas você ainda suspeita de problemas:

fsck -f /dev/sdb1

Para verificar um tipo específico de sistema de arquivos:

fsck -t ext4 /dev/sdb1

Para verificar todos os sistemas de arquivos (excluindo root), use o -A sinalizador que lê entradas de /etc/fstabe -R ignora o sistema de arquivos raiz.

fsck -AR -y

Você também pode usar o seguinte comando para detalhar a saída com uma barra de progresso:

fsck -C -V /dev/sdb1

Isso é útil para unidades grandes nas quais você deseja monitorar o progresso.

Compreendendo os códigos de saída do fsck

Depois de correr fsckele retorna um código de saída que informa o que aconteceu. Você pode verificar isso com echo $? logo após executar o comando.

0    - No errors detected
1    - Filesystem errors were corrected
2    - System should be rebooted
4    - Filesystem errors left uncorrected
8    - Operational error
16   - Usage or syntax error
32   - Checking was canceled by user request
128  - Shared library error

Os códigos de saída podem ser combinados (somados). Por exemplo, um código de saída 3 significa que os erros foram corrigidos (1) e uma reinicialização é necessária (2).

Dica de produção: em scripts e tarefas cron, sempre capture e avalie o código de saída do fsck para acionar alertas ou reinicializações automáticas quando necessário.

fsck -y /dev/sdb1
EXIT_CODE=$?

if ( $EXIT_CODE -ge 4 ); then
    echo "ALERT: Filesystem errors could not be corrected on /dev/sdb1" | mail -s "fsck Alert" (email protected)
fi

Como executar o fsck na partição raiz (/)

Você não pode correr fsck em uma partição raiz montada, mas a seguir estão três métodos confiáveis ​​para lidar com isso.

Método 1: Forçar fsck na próxima inicialização

A abordagem mais simples é criar um forcefsck arquivo de sinalização na raiz:

touch /forcefsck

Em seguida, agende uma reinicialização:

reboot

Durante a próxima inicialização, o sistema será executado automaticamente fsck no sistema de arquivos raiz antes de montá-lo. Depois que o sistema voltar a funcionar, verifique e remova o arquivo de sinalização para evitar o acionamento do fsck em cada inicialização:

ls /forcefsck
rm /forcefsck

Observação: Em sistemas baseados em systemd (RHEL 7+, Ubuntu 16.04+), o método forcefsck pode não funcionar. Use o método abaixo.

Método 2: Forçar fsck via tune2fs (ext4)

Para sistemas de arquivos ext4, você pode forçar um fsck na próxima reinicialização usando tune2fsque definirá a contagem de montagens como 1que aciona o fsck na próxima inicialização. Após a verificação, a contagem de montagens é redefinida automaticamente.

tune2fs -C 1 /dev/sda1

Você também pode definir uma contagem máxima de montagens após a qual o fsck será forçado automaticamente:

tune2fs -c 30 /dev/sda1

Método 3: execute fsck no modo Rescue/Recovery

Este método oferece controle manual total e é recomendado para casos graves de corrupção.

  • Passo 1: Reinicie o sistema e durante a inicialização, segure o Shift para abrir o menu GRUB.
  • Etapa 2: Selecione “Opções avançadas”No menu GRUB.
  • Etapa 3: Escolher “Modo de recuperação” para sua versão do kernel.
  • Etapa 4: No menu de recuperação, selecione “fsck“.
  • Etapa 5: Quando solicitado a remontar o sistema de arquivos raiz, selecione “Sim“.
  • Etapa 6: Assim que o fsck for concluído, selecione “Retomar”Para continuar a inicialização normal.

Como executar o fsck em volumes LVM e RAID de software

Para LVM volumes lógicos, primeiro identifique o volume:

lvdisplay

Desative-o antes de executar o fsck:

lvchange -an /dev/vg_data/lv_data
fsck -y /dev/vg_data/lv_data
lvchange -ay /dev/vg_data/lv_data

Por um ATAQUE membro, verifique o dispositivo de bloco subjacente:

fsck -y /dev/md0

Aviso de produção: Seja extremamente cauteloso com ATAQUE matrizes. Certifique-se de que a matriz esteja em um estado íntegro (cat /proc/mdstat) antes de executar o fsck. Uma matriz degradada deve ser reconstruída primeiro.

Como agendar verificações regulares do fsck

Em servidores de produção, é uma boa prática agendar fsck é executado em vez de esperar que os problemas ocorram.

Usando tune2fs para verificações automáticas (ext4)

Defina um intervalo de verificação baseado no tempo (por exemplo, a cada 6 meses):

tune2fs -i 6m /dev/sda1

Defina uma verificação baseada na contagem de montarias (por exemplo, a cada 30 montarias):

tune2fs -c 30 /dev/sda1

Verifique as configurações:

tune2fs -l /dev/sda1 | grep -i "mount count|check interval"

Ver resumo da integridade do sistema de arquivos

tune2fs -l /dev/sda1 | grep -E "Filesystem state|Last checked|Mount count|Maximum mount"

Verificando registros do fsck

Após a execução do fsck (na inicialização ou manualmente), você pode revisar o que ele fez:

# On RHEL/CentOS/Rocky Linux
grep -i fsck /var/log/messages

# On Ubuntu/Debian
grep -i fsck /var/log/syslog

# Systemd journal
journalctl -b | grep -i fsck

Referência rápida: exemplos de comando fsck

# Check a partition interactively
fsck /dev/sdb1

# Auto-repair all errors
fsck -y /dev/sdb1

# Dry run (no changes)
fsck -N /dev/sdb1

# Force check even if filesystem looks clean
fsck -f /dev/sdb1

# Check all filesystems except root
fsck -AR -y

# Verbose check with progress bar
fsck -C -V /dev/sdb1

# Check only ext4 filesystems
fsck -t ext4 -A -y
Conclusão

fsck é uma das ferramentas mais críticas no kit de ferramentas de um administrador de sistema Linux. Esteja você lidando com uma partição corrompida após uma queda de energia, executando verificações de integridade de rotina em um servidor de produção ou solucionando problemas em um sistema que não inicializa – saber como usar o fsck corretamente pode evitar sérias perdas de dados e tempo de inatividade não planejado.

As principais regras a serem lembradas:

  • Nunca execute fsck em uma partição montada.
  • Sempre faça um teste (-N) primeiro em sistemas críticos.
  • Capture códigos de saída em scripts para automatizar alertas e reinicializações.
  • Agende verificações periódicas usando tune2fs em sistemas de arquivos importantes.

Se você tiver alguma dúvida sobre como usar fsck ou encontrou um erro específico, fique à vontade para compartilhá-lo nos comentários abaixo.

Deseja saber mais sobre Software Livre Clique Aqui!

comando fsck no linux , reparar erros do sistema de arquivos linux , executar fsck na partição raiz , forçar fsck na inicialização linux , executar fsck na partição montada , linux verificar a integridade do sistema de arquivos

Deixe um comentário

Translate »