O comando fsck (File System Check) é uma ferramenta essencial para verificar e reparar sistemas de arquivos no Linux. Ele é especialmente útil quando o sistema não inicializa corretamente ou quando você suspeita de corrupção no sistema de arquivos. Neste guia, vamos explorar como usar o fsck de forma eficaz, com exemplos práticos e dicas avançadas.


🛠️ O Que é o fsck?

O fsck é uma ferramenta de linha de comando que verifica a integridade de sistemas de arquivos e corrige erros. Ele pode ser usado em sistemas de arquivos como ext4, ext3, xfs, btrfs, entre outros.


🚨 Quando Usar o fsck?

Você deve considerar usar o fsck nas seguintes situações:

  1. Falha na Inicialização: O sistema não inicializa corretamente.
  2. Desligamento Inadequado: O sistema foi desligado abruptamente (ex.: queda de energia).
  3. Erros de Leitura/Gravação: Arquivos corrompidos ou inacessíveis.
  4. Verificação Preventiva: Para garantir a integridade do sistema de arquivos.

⚠️ Precauções Antes de Usar o fsck

  1. Faça Backup: Sempre faça backup dos dados importantes antes de executar o fsck.
  2. Desmonte o Sistema de Arquivos: O sistema de arquivos não deve estar montado durante a execução do fsck. Se for a partição raiz (/), use um Live CD/USB.
  3. Verifique o Manual: Use man fsck para detalhes específicos do seu sistema.

🛠️ Como Usar o fsck

1. Sintaxe Básica

sudo fsck [opções] [dispositivo]
  • dispositivo: Partição a ser verificada (ex.: /dev/sda1).
  • opções: Flags para controlar o comportamento do fsck.

2. Opções Comuns

OpçãoDescrição
-AVerifica todos os sistemas de arquivos.
-CMostra barra de progresso (para ext2/ext3/ext4).
-NSimula a execução (não faz alterações).
-TDesativa a exibição do título.
-VModo verboso (mostra detalhes da execução).
-yResponde “sim” a todas as perguntas.
-nResponde “não” a todas as perguntas.
-fForça a verificação, mesmo se o sistema parecer limpo.

3. Exemplos Práticos

Exemplo 1: Verificar e Reparar uma Partição

sudo fsck -y /dev/sda1
  • O que faz: Verifica e repara automaticamente erros na partição /dev/sda1.

Exemplo 2: Verificar Todos os Sistemas de Arquivos

sudo fsck -A -y
  • O que faz: Verifica e repara todos os sistemas de arquivos listados em /etc/fstab.

Exemplo 3: Simular uma Verificação

sudo fsck -N /dev/sda1
  • O que faz: Mostra o que seria feito sem aplicar alterações.

Exemplo 4: Verificar com Barra de Progresso

sudo fsck -C /dev/sda1
  • O que faz: Exibe uma barra de progresso durante a verificação (útil para sistemas de arquivos ext*).

4. Verificando a Partição Raiz (/)

A partição raiz geralmente está montada durante a execução do sistema, então você não pode verificá-la diretamente. Aqui estão duas abordagens:

Método 1: Usar um Live CD/USB

  1. Inicie o sistema com um Live CD/USB.
  2. Abra um terminal e execute:
    sudo fsck -y /dev/sda1
    
    (Substitua /dev/sda1 pelo dispositivo correto da sua partição raiz.)

Método 2: Forçar Verificação na Inicialização

  1. Reinicie o sistema.
  2. Durante a inicialização, pressione Shift (para GRUB) e edite a linha do kernel.
  3. Adicione fsck.mode=force ao final da linha.
  4. Inicie o sistema. O fsck será executado automaticamente.

5. Verificando Sistemas de Arquivos Específicos

O fsck pode ser usado com sistemas de arquivos específicos, como ext4, xfs, ou btrfs. Para isso, use os comandos específicos:

  • ext4: sudo fsck.ext4 /dev/sda1
  • xfs: sudo xfs_repair /dev/sda1 (o XFS não usa fsck).
  • btrfs: sudo btrfs check /dev/sda1

🧠 Dicas Avançadas

1. Verificar Discos com Bad Blocks

Use a opção -c para procurar por setores defeituosos:

sudo fsck -c /dev/sda1

2. Verificar Sistemas de Arquivos Montados como Somente Leitura

Se você não puder desmontar o sistema de arquivos, monte-o como somente leitura e execute o fsck:

sudo mount -o remount,ro /dev/sda1
sudo fsck /dev/sda1

3. Agendar Verificações Periódicas

O Linux verifica automaticamente sistemas de arquivos após um número específico de montagens ou tempo. Para configurar:

sudo tune2fs -c 30 /dev/sda1  # Verifica após 30 montagens
sudo tune2fs -i 7d /dev/sda1  # Verifica a cada 7 dias

🚨 Erros Comuns e Soluções

1. “fsck: cannot continue, aborting”

  • Causa: O sistema de arquivos está montado.
  • Solução: Desmonte o sistema de arquivos ou use um Live CD/USB.

2. “fsck: unexpected inconsistency”

  • Causa: Corrupção grave no sistema de arquivos.
  • Solução: Execute o fsck com a opção -y para tentar reparar automaticamente.

3. “fsck: cannot open /dev/sda1: Device or resource busy”

  • Causa: O dispositivo está em uso.
  • Solução: Desmonte o dispositivo ou reinicie em modo de recuperação.

📊 Comparação de Sistemas de Arquivos

Sistema de ArquivosComando de VerificaçãoObservação
ext4fsck.ext4Suporta journaling (mais seguro).
xfsxfs_repairNão usa fsck.
btrfsbtrfs checkSuporta auto-reparação.
fat32/ntfsfsck.vfat/ntfsfixPara sistemas de arquivos Windows.

🛠️ Caso Prático: Recuperando um Sistema Corrompido

  1. Reinicie o sistema e acesse o GRUB.
  2. Edite a linha do kernel e adicione init=/bin/bash.
  3. Monte a partição raiz como leitura/gravação:
    mount -o remount,rw /
    
  4. Execute o fsck:
    fsck -y /dev/sda1
    
  5. Reinicie o sistema:
    reboot
    

📌 Conclusão

O fsck é uma ferramenta poderosa para manter a integridade do sistema de arquivos. Com este guia, você está preparado para diagnosticar e reparar problemas com confiança. Lembre-se: sempre faça backup antes de executar operações críticas!