Como Usar ‘fsck’ para Reparar Erros no Sistema de Arquivos do Linux

Os Sistemas de Arquivos do Linux são responsáveis por organizar como os dados são armazenados e recuperados. De uma forma ou de outra, com o tempo, o sistema de arquivos pode se corromper e certas partes dele podem não ser acessíveis. Se o seu sistema de arquivos desenvolver tal inconsistência, é recomendado verificar sua integridade.

Isso pode ser feito por meio de uma utilidade do sistema chamada fsck (verificação de consistência do sistema de arquivos), que verifica automaticamente o sistema de arquivos raiz durante o tempo de inicialização ou executado manualmente.

Neste artigo, vamos revisar o comando fsck e seu uso para ajudar a reparar erros de disco no Linux.

Quando usar o comando fsck no Linux

Há diferentes cenários em que você vai querer executar fsck. Aqui estão alguns exemplos:

  • O sistema falha ao inicializar.
  • Arquivos no sistema se corrompem (frequentemente você pode ver erro de entrada/saída).
  • O dispositivo conectado (incluindo pen drives/cartões SD) não está funcionando como esperado.

Opções do Comando fsck

O comando fsck precisa ser executado com privilégios de superusuário ou root. Você pode usá-lo com diferentes argumentos. O uso deles depende do seu caso específico. Abaixo você verá algumas das opções mais importantes:

  • -A – Usado para verificar todos os sistemas de arquivos. A lista é retirada de /etc/fstab.
  • -C – Mostra a barra de progresso.
  • -l – Trava o dispositivo para garantir que nenhum outro programa tente usar a partição durante a verificação.
  • -M – Não verifica sistemas de arquivos montados.
  • -N – Mostra apenas o que seria feito – nenhuma mudança real é feita.
  • -P – Se desejar verificar sistemas de arquivos em paralelo, incluindo o root.
  • -R – Não verifica o sistema de arquivos raiz. Isso é útil apenas com ‘-A‘.
  • -r – Fornece estatísticas para cada dispositivo que está sendo verificado.
  • -T – Não mostra o título.
  • -t – Especifica exclusivamente os tipos de sistemas de arquivos Linux a serem verificados. Os tipos podem ser listas separadas por vírgulas.
  • -V – Fornece uma descrição do que está sendo feito.

Execute o comando fsck para reparar erros no sistema de arquivos do Linux

Para executar o fsck, você precisará garantir que a partição que você vai verificar não esteja montada. Para o propósito deste artigo, usarei meu segundo disco /dev/sdb montado em /mnt.

Aqui está o que acontece se eu tentar executar fsck quando a partição está montada.

# fsck /dev/sdb
Run fsck on Mounted Partition

Para evitar isso, desmonte a partição usando.

# umount /dev/sdb

Então fsck pode ser executado com segurança.

# fsck /dev/sdb
Run fsck on Linux Partition

Compreendendo os Códigos de Saída do fsck

Após executar o fsck, ele retornará um código de saída. Esses códigos podem ser vistos no manual do fsck executando:

# man fsck

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

Reparo do Sistema de Arquivos Linux pelo Fsck

Às vezes mais de um erro pode ser encontrado em um sistema de arquivos. Nesses casos, você pode querer que o fsck tente automaticamente corrigir os erros. Isso pode ser feito com:

# fsck -y /dev/sdb

A bandeira -y, automaticamente responde “sim” a qualquer prompt do fsck para corrigir um erro.

Da mesma forma, você pode executar o mesmo em todos os sistemas de arquivos (sem ser root):

$ fsck -AR -y 

Como Executar o fsck na Partição Raiz do Linux

Em alguns casos, pode ser necessário executar o fsck na partição root do seu sistema. Como você não pode executar o fsck enquanto a partição está montada, você pode tentar uma dessas opções:

  • Forçar o fsck durante a inicialização do sistema
  • Executar o fsck no modo de resgate

Vamos revisar ambas as situações.

Forçar o fsck Durante a Inicialização do Sistema

Isso é relativamente fácil de completar, a única coisa que você precisa fazer é criar um arquivo chamado forcefsck na partição raiz do seu sistema. Use o seguinte comando:

# touch /forcefsck

Em seguida, você pode simplesmente forçar ou agendar um reinício do seu sistema. Durante a próxima inicialização, o fsck será realizado. Se o tempo de inatividade for crítico, é recomendável planejar isso cuidadosamente, pois se houver muitos inodes usados em seu sistema, o fsck pode levar algum tempo extra.

Após a inicialização do seu sistema, verifique se o arquivo ainda existe:

# ls /forcefsck

Se existir, você pode querer removê-lo para evitar fsck em cada inicialização do sistema.

Execute fsck no Modo de Resgate

A execução de fsck no modo de resgate requer alguns passos adicionais. Primeiro, prepare seu sistema para reiniciar. Pare quaisquer serviços críticos como MySQL/MariaDB etc. e então digite:

# reboot

Durante a inicialização, mantenha pressionada a tecla shift para que o menu grub seja exibido. Selecione “Opções Avançadas“.

Grub Advanced Options

Em seguida, escolha “Modo de Recuperação“.

Select Linux Recovery Mode

No próximo menu, selecione “fsck“.

Select fsck Utility

Você será perguntado se deseja que seu sistema de arquivos / seja remontado. Selecione “sim”.

Confirm Root Filesystem

Você deve ver algo semelhante a isso.

Running fsck Filesystem Check

Você pode então retomar o boot normal, selecionando “Continuar”.

Select Normal Boot
Conclusão

Neste tutorial, você aprendeu como usar o fsck e executar verificações de consistência em diferentes sistemas de arquivos Linux. Se você tiver alguma dúvida sobre o fsck, por favor, não hesite em enviá-las na seção de comentários abaixo.

Source:
https://www.tecmint.com/fsck-repair-file-system-errors-in-linux/