Como usar 'FSCK' para reparar erros do sistema de arquivos no Linux

Como usar 'FSCK' para reparar erros do sistema de arquivos no Linux

Os sistemas de arquivos são responsáveis ​​por organizar como os dados são armazenados e recuperados. De uma maneira ou de outra, com o tempo, o sistema de arquivos pode ficar corrompido e certas partes dele podem não estar acessíveis. Se o seu sistema de arquivos desenvolver essa inconsistência, é recomendável verificar sua integridade.

Isso pode ser concluído via utilitário de sistema chamado fsck (Verificação de consistência do sistema de arquivos). Esta verificação pode ser feita automaticamente durante o tempo de inicialização ou executado manualmente.

Neste artigo, vamos revisar o utilitário FSCK e seu uso para ajudá -lo a reparar erros de disco.

Quando usar o FSCK no Linux

Existem diferentes cenários quando você vai querer executar o FSCK. Aqui estão poucos exemplos:

  • O sistema não consegue inicializar.
  • Os arquivos no sistema ficam corruptos (geralmente você pode ver o erro de entrada/saída).
  • Unidade anexada (incluindo unidades flash/cartões SD) não está funcionando como esperado.

Opções disponíveis do FSCK

O comando FSCK precisa ser executado com privilégios de superusuário ou raiz. Você pode usá -lo com argumentos diferentes. 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 - Mostre a barra de progresso.
    • -eu - Bloqueia o dispositivo para garantir que nenhum outro programa tentará usar a partição durante o cheque.
    • -M - Não verifique sistemas de arquivos montados.
    • -N - Mostre apenas o que seria feito - nenhuma alteração real é feita.
    • -P - Se você deseja verificar os sistemas de arquivos em paralelo, incluindo raiz.
    • -R - Não verifique o sistema de arquivos root. Isso é útil apenas com '-A'.
    • -r - Forneça estatísticas para cada dispositivo que está sendo verificado.
    • -T - Não mostra o título.
    • -t - Especifique exclusivamente os tipos de sistema de arquivos a serem verificados. Os tipos podem ser a lista separada por vírgula.
    • -V - Forneça descrição o que está sendo feito.

Como executar o FSCK para reparar erros do sistema de arquivos Linux

Para correr fsck, Você precisará garantir que a partição que você vai verificar não está montada. Para os fins deste artigo, usarei minha segunda unidade /dev/sdb montado /mnt.

Aqui está o que acontece se eu tentar correr fsck Quando a partição é montada.

# fsck /dev /sdb 
Execute o FSCK na partição montada

Para evitar essa desmontar a partição usando.

# Umount /dev /sdb 

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

# fsck /dev /sdb 
Execute o FSCK na partição Linux

Entendendo os códigos de saída do FSCK

Depois de correr fsck, ele retornará um código de saída. Esses bacalhau podem ser vistos no manual do FSCK executando:

# man fsck 0 Nenhum erro 1 Erros do sistema de arquivos corrigido 2 Sistema deve ser reiniciado 4 erros do sistema de arquivos deixados não corrigidos 8 Erro operacional 16 Uso ou sintaxe Erro 32 Verificação cancelada pela solicitação do usuário 128 Erro de biblioteca compartilhada 

Reparar erros do sistema de arquivos Linux

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

# fsck -y /dev /sdb 

O -y sinalizador, automaticamente "sim" para qualquer prompt do FSCK para corrigir um erro.

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

$ fsck -ar -y 

Como executar o FSCK na partição raiz do Linux

Em alguns casos, pode precisar correr fsck no raiz Partição do seu sistema. Já que você não pode correr fsck Enquanto a partição estiver montada, você pode tentar uma dessas opções:

  • Força FSCK na inicialização do sistema
  • Execute o FSCK no modo de resgate

Vamos revisar as duas situações.

Força FSCK na inicialização do sistema

Isso é relativamente fácil de concluir, 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 

Então você pode simplesmente forçar ou agendar uma reinicialização 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 com cuidado, pois se houver muitos inodos usados ​​no seu sistema, fsck Pode levar algum tempo extra.

Após o seu sistema botas, verifique se o arquivo ainda existe:

# ls /forcefsck 

Se isso acontecer, você pode removê -lo para evitar fsck Em cada inicialização do sistema.

Execute o FSCK no modo de resgate

Correndo fsck em modo de resgate requer mais alguns passos. Primeiro prepare seu sistema para reinício. Pare com quaisquer serviços críticos como Mysql/mariadb etc e depois digite.

# reinício 

Durante a bota, mantenha pressionado o mudança tecla para que o menu Grub seja mostrado. Selecione os "Opções avançadas”.

Opções avançadas do GRUB

Então escolha "Modo de recuperação”.

Selecione o modo de recuperação Linux

No próximo menu, selecione “fsck”.

Selecione FSCK Utility

Você será perguntado se deseja ter o seu / FileSystem removido. Selecione "sim".

Confirme o sistema de arquivos root

Você deve ver algo semelhante a isso.

Execução da verificação do sistema de arquivos FSCK

Você pode retomar para a inicialização normal, selecionando "Retomar".

Selecione Boot Normal
Conclusão

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