Como usar o comando fsck no Linux

Conteúdo

Um disco rígido com código binário escrito nele.

Todos os nossos dados importantes residem em um sistema de arquivos de um tipo ou outro, e problemas no sistema de arquivos são prováveis. En Linux, podemos usar o fsck comando para encontrar e corrigir erros do sistema de arquivos.

Os sistemas de arquivos são software

Os sistemas de arquivos são um dos componentes mais críticos de um computador. Sem um sistema de arquivos, o computador não pode armazenar nenhum dado em um disco rígido, um disco mecânico giratório ou um disco de estado sólido. Na realidade, um sistema de arquivos deve ser criado antes que o sistema operacional possa ser instalado no disco rígido. Deve haver algo para salvar os arquivos do sistema operacional. Por isso, um sistema de arquivos é criado durante o procedimento de instalação.

Os sistemas de arquivos são criados por software, escrito por software e lido por software. Como você sabe, todo software complexo tem bugs. Nossos dados são de vital relevância para nós, por isso, confiamos muito nos sistemas de arquivos e no software que os cria e usa. Se algo der errado, podemos perder o acesso a partes do sistema de arquivos ou mesmo a uma partição completa.

Os sistemas de arquivos com registro de mudanças modernos são melhores para lidar com problemas que podem ser causados ​​por uma queda repentina de energia ou um travamento do sistema.. Eles são robustos, mas não invencível. Se suas tabelas internas estiverem codificadas, eles podem perder o controle de onde cada arquivo reside na unidade, Que tamanho tem, qual nome ele tem e quais permissões de arquivo são definidas neles.

a fsck O comando permite que você verifique se seus sistemas de arquivos estão íntegros. Se você encontrar algum problema, regularmente também pode consertar para você.

Realize verificações pré-voo

Usando fsck precisa de privilégios de sudo. Qualquer comando que pode realizar mudanças em um sistema de arquivos deve ser tratado com cuidado e restrito àqueles que sabem o que estão fazendo.

Os pilotos não entram em um avião, Eles ligam e voam para o azul claro ali. Eles realizam verificações pré-voo. As apostas são altas para fazer o oposto. É um bom hábito desenvolver. Antes de usar fsck você precisa ter certeza de que irá usá-lo na unidade correta. Então, antes de fazer algo com fsck, vamos fazer algum credenciamento.

Vamos começar com fdisk e canalizá-lo para less. Não estamos solicitando informações sobre uma partição específica. Usando o -l opção (pronto) fdisk lista as tabelas de partição em todos os dispositivos encontrados no arquivo “/ proc / partições ”, sim existe.

sudo fdisk -l | menos

Podemos ver as entradas para /dev/sda e /dev/sdb. Você pode percorrer o arquivo para ver quaisquer outras entradas que possam existir em seu computador.

Observe a saída na janela do terminal.

As partições em /dev/sda estão listados como /dev/sda1, /dev/sda2, e /dev/sda3 . Portanto, temos três partições na primeira unidade. Podemos ver um pouco mais de informações usando o parted comando. Nós vamos usar o 'print' opção para exibir tabelas de partição na janela do terminal.

sudo separado /dev/sda 'print'

Saiba mais sobre tabelas de partição

Desta vez, o queremos informações adicionais, incluindo o tipo de sistema de arquivos em cada partição.

Modelo: ATA VBOX HARDDISK (SCSI) 
Disco /dev/sda: 34.4GB 
Sector size (lógico/físico): 512B/512B 
Partition Table: gpt 
Disk Flags:

Bandeiras de nome do sistema de arquivos do sistema de tamanho final do número de partida 
1      1049kB 2097kB 1049kB bios_grub 
2      2097kB 540MB 538MB fat32 EFI System Partition boot, Esp 
3      540MB 34.4GB 33.8GB ramal

Há três unidades neste computador de teste. Estes são os resultados das outras duas unidades. /dev/sdb e /dev/sdc. note que esses sistemas de arquivos não têm o campo “Nome”.

sudo separado /dev/sdb 'imprimir'
Modelo: ATA VBOX HARDDISK (SCSI) 
Disco /dev/sdb: 21.5GB 
Sector size (lógico/físico): 512B/512B 
Partition Table: msdos 
Disk Flags:

Sinalizadores do sistema de arquivos do tipo de tamanho final do número de partida 
1      1049kB 21.5GB 21.5GB ramal primário
sudo separou /dev/sdc 'imprimir'
Modelo: ATA VBOX HARDDISK (SCSI) 
Disco /dev/sdc: 21.5GB 
Sector size (lógico/físico): 512B/512B 
Partition Table: msdos 
Disk Flags:

Sinalizadores do sistema de arquivos do tipo de tamanho final do número de partida
1      1049kB 21.5GB 21.5GB ramal primário

a segunda e terceira unidades são do mesmo tamanho e cada uma tem uma única partição. Mas o sistema de arquivos da segunda unidade é ext4e o sistema de arquivos da terceira unidade é o mais antigo ext3.

Passamos um identificador de partição para fscke verifique o sistema de arquivos dessa partição. Mas não podemos correr fsck em um sistema de arquivos montado. Precisamos desmontar a unidade. Fazer isso, precisamos saber o ponto de montagem onde a partição está montada e, por isso, o sistema de arquivos.

Podemos descobrir facilmente usando o df comando.

df / dev / sdb1
df / dev / sdc1

Usando o comando fsck

Temos todas as informações de que precisamos. A primeira coisa que faremos é desmontar o sistema de arquivos que vamos verificar. Vamos trabalhar no sistema de arquivos no primeiro (e somente) partição de /dev/sdb, que /dev/sdb1 . Vimos anteriormente que este é um ext4 Sistema de arquivo, e é montado em “/ Correr / monte / Dave / sata2”.

Nós vamos usar o umount comando. Por favor, note que não há “n” sobre “umount”.

sudo umount / run / mount / dave / sata2

Use o comando umount para desmontar o sistema de arquivos.

Com umount, A ausência de más notícias é uma boa notícia. Se você retornar silenciosamente ao prompt de comando, estamos prontos para começar.

sudo fsck / dev / sdb1

Use o comando fsck para verificar o status do sistema de arquivos.

Este sistema de arquivos está limpo. Isso significa que o sistema de arquivos não relata erros ou problemas. Uma verificação mais profunda do sistema de arquivos não é realizada automaticamente. Também podemos olhar para o código de retorno que fsck voltou para a concha.

eco $?

O valor de retorno de zero indica que não há erros. Os códigos de retorno possíveis são:

  • 0: Sem erros
  • 1: Erros corrigidos do sistema de arquivos
  • 2: O sistema deve reiniciar
  • 4: Erros do sistema de arquivos que não foram corrigidos
  • 8: Erro operacional
  • dezesseis: Erro de uso ou sintaxe
  • 32: Verificação cancelada por solicitação do usuário
  • 128: Erro de biblioteca compartilhada

Embora o sistema de arquivos seja relatado como limpo, podemos forçar uma verificação do sistema de arquivos a ser feita, usando o -f Opção (força).

sudo fsck / dev / sdb1 -f

Força uma verificação do sistema de arquivos usando a opção force em um comando fsck

Desta vez, a verificação leva mais tempo para ser concluída, mas faça um teste mais completo do sistema de arquivos. Nosso sistema de arquivos estava realmente limpo e nenhum erro foi relatado. Se forem encontrados problemas durante o teste, você será solicitado a permitir fsck conserte o problema ou ignore o erro.

Quando você terminar o teste, você deve remontar o sistema de arquivos. A maneira mais fácil de fazer isso é usar mount com ele -a (todo o mundo) opção. Isso faz o check-in de "/ etc / fstab ”a lista de sistemas de arquivos e certifica-se de que estão todos montados como fariam após uma inicialização normal.

sudo mount -a

Remonte o sistema de arquivos usando o comando mount

Observe que você não precisa ser informado. fsck que tipo de sistema de arquivos está em uma partição; o utilitário determina isso examinando o sistema de arquivos. Isso significa que podemos forçar uma verificação do sistema de arquivos /dev/sdc1, a ext3 sistema de arquivos em nosso PC de teste, usando exatamente o mesmo comando que usamos em /dev/sdb1, que e um ext4 dividir.

sudo fsck / dev / sdc1 -f

Use o comando fsck para forçar uma verificação do sistema de arquivos

Você pode não querer mergulhar direto no reparo do sistema de arquivos. Talvez você prefira olhar antes de pular. Você pode perguntar fsck não se ofereça para consertar nada e apenas relate os problemas para a janela do terminal. a -N Opção (funcionamento a seco) faz exatamente isso:

sudo fsck -N / dev / sdb1

Antes de reparar um sistema de arquivos, faça um teste

O oposto disso é contar fsck então você não se preocupa em perguntar se encontrou algum bug, e vá em frente e conserte. Para fazer isso, usar el -y (sem avisos) opção.

sudo fsck -y / dev / sdb1

Usando fsck na partição raiz

Você não pode usar fsck em uma partição montada, mas para inicializar seu computador, partição raiz deve ser montada. Então, Como podemos correr? fsck na partição raiz? A solução é interromper o procedimento de inicialização e executar fsck em modo de recuperação.

Enquanto seu computador está iniciando, selecione a metade superior “Mudança”. Se você cronometrou corretamente, não inicializa no Linux. O procedimento de inicialização irá parar em um menu preto e branco. A máquina de teste usada para esta postagem estava executando o Ubuntu, mas outras distribuições têm o mesmo tipo de menu, mesmo que possa variar na aparência. Onde diz “Ubuntu” em capturas de tela, terá o nome da sua distribuição.

Menu de recuperação com o item de menu de opções avançadas selecionado

Mova a barra destacada com as teclas “Seta para cima” e “Seta para baixo” para selecionar o item do menu “Opções avançadas para ubuntu”. pressione “Digitar” para passar para a próxima tela.

Menu de recuperação com item de menu

Selecione a opção que termina com “(modo de recuperação)”. Em nosso exemplo, isto é “Ubuntu, com Linux 5.11.0-20-genérico (modo de recuperação)”. pressione a tecla “Digitar”.

Você verá o menu de recuperação. Por favor selecione “fsck verificar todos os sistemas de arquivos” e pressionar o “Aba” para mover o destaque para o botão “Aceitar”. pressione “Digitar”.

Menu de recuperação com fsck selecionado

Você verá uma notificação de que a partição raiz será montada junto com quaisquer outras partições definidas no seu arquivo “/ etc / fstab ”.

Selecione sim para iniciar o fsck no modo interativo

pressione a tecla “Aba” para mover o destaque para o botão “sim” e pressione “Entrar”.

Você vai ver fsck executar em modo interativo. Se houver problemas, você será convidado a sair fsck conserte ou ignore-os. Quando os sistemas de arquivos foram verificados, você verá o menu de recuperação novamente.

Selecione a opção “retomar”, Deslize para baixo a tela inicial do seu iPhone ou iPad para entrar na função de pesquisa “Aba” para mover o destaque para o botão “Aceitar” e pressione “Entrar”. O procedimento de inicialização será retomado e você irá inicializar no Linux.

Iniciar o modo de recuperação pode afetar alguns drivers, portanto, é uma boa prática reiniciar mais uma vez, assim que eu iniciar o Linux. Isso garante que seu computador esteja funcionando como padrão..

Quando as coisas dão errado

As redes de segurança existem por uma razão. Saber o fsck comando. Se surgir a necessidade de usá-lo com raiva um dia, você ficará feliz por ter se conhecido com antecedência.

Assine a nossa newsletter

Nós não enviaremos SPAM para você. Nós odiamos isso tanto quanto você.