como usar o comando fsck no Linux?
o comando fsck
(file system consistency check) é um utilitário para verificar e reparar um sistema de arquivos Linux. Os sistemas de arquivos modernos com registro no diário são projetados de forma que ferramentas como o fsck não sejam prontamente necessárias. No entanto, em alguns casos, o fsck pode ser a única opção para reparar um sistema de arquivos ‘ruim’.
fsck
pode ser executado em uma partição que foi corrompida ou inconsistente com o resto do filesytem.
razões pelas quais o fsck pode ser necessário
- desligamento impuro-esta é a principal causa de corrupção. Devido a um “impuro desligamento’, o sistema pode falhar mesmo de iniciar corretamente
- Unidade de Falha ou Corrupção
Tabela de Conteúdo
Ambientes Onde Você NÃO Deve Usar o comando fsck
Desde que o comando trabalha diretamente com os setores do sistema de arquivos, é importante tomar as precauções necessárias aqui.
e2fsck’s man page says:
observe que, em geral, não é seguro executar o e2fsck em sistemas de arquivos montados. A única exceção é se a opção-n for especificada e as opções-c,- l ou-L não forem especificadas. No entanto, mesmo que seja seguro fazê-lo, os resultados impressos pelo e2fsck não são válidos se o sistema de arquivos estiver montado. Se o e2fsck perguntar se você deve ou não verificar um sistema de arquivos montado, a única resposta correta é “não”.
https://www.man7.org/linux/man-pages/man8/e2fsck.8.html
portanto, você deve fazer fsck
em uma partição desmontada. Se você pode desmontar a partição usando umount
, bem e bem. Caso contrário, você precisa mudar seu ambiente:
1. Modo de recuperação
(Para Ubuntu – Hold SHIFT
durante a inicialização para entrar no GRUB, selecione ‘Opções Avançadas para Ubuntu’, selecione a opção rotulada ‘modo de recuperação’ e selecione fsck). No modo de recuperação, as partições são montadas.
2. Ao usar o parâmetro do kernel init= / bin / bash
(segure SHIFT
durante a inicialização para entrar no GRUB, pressione e
para editar os parâmetros do kernel). Ele fornece um shell bash de onde fsck
poderia ser executado, mas aqui também, as partições são montadas.
como usar o comando fsck?
com o básico claro, vamos passar para as etapas como você deve usar o comando fsck no Linux.
1. Uso básico do
Antes de começar a usar o comando, verifique se você está trabalhando em uma partição desmontada. Para desmontar uma partição e, em seguida, executar fsck nele digite :
$ sudo umount /dev/<partition_name>$ fsck /dev/<partition_name>
provavelmente, você não pode desmontar a partição. Nesse caso, você pode escolher um dos seguintes métodos.
2. Executando fsck usando um live USB
esta é provavelmente a melhor maneira de executar fsck
. Ele fornece um rico conjunto de ferramentas familiares como fdisk
. Use este tutorial para criar um Ubuntu USB ao vivo. Esta parte assume que você está executando o Linux fora de um USB ao vivo.
para listar todas as partições do seu sistema, você pode usar o comando fdisk
.
$ sudo fdisk -l
Nota: As partições mostradas acima (para 2 SSDs, um NVMe e outro SATA) pode ser diferente do que o que você tem no seu sistema. fdisk imprime mais informações sobre as partições também. No entanto, para o propósito deste artigo, o nome da partição é suficiente.
identifique a partição que está causando problemas e, em seguida, simplesmente execute:
$ fsck /dev/<partition_name>
isso deve corrigir o problema.
3. Usando initramfs
outra maneira de usar o comando fsck está no modo intramfs. Para entrar initramfs
- segure a tecla
SHIFT
durante a inicialização para entrar no menu GRUB. - Pressione
e
para editar a entrada de inicialização - Adicionar o parâmetro de kernel como ‘
break
‘, como mostrado na imagem abaixo - Pressione
Ctrl - X
para salvar e sair
initramfs
fornece um “menos atraentes” o modo de resolução de problemas.
as partições não são montadas no initramfs, portanto, executar fsck
seria seguro. Além disso, você precisa do nome da partição. O Initramfs, no entanto, fornece um mínimo de utilitários. Portanto, fdisk
não estará disponível. Você pode listar as partições usando o comando cat, como mostrado abaixo:
$ cat /proc/partitions
Identificar a partição e, em seguida, executar:
$ fsck /dev/<partition_name>
Nota: o comando fsck usando o Live USB podem não estar sempre disponíveis. Nesse caso, use o método initramfs.
como verificar se o fsck está programado ou não
você pode querer saber quando sua partição foi verificada da última vez ou quando será no futuro. Nesse caso, corra:
$ sudo tune2fs -l /dev/<partition_name> | egrep -i 'check|mount'
- Máxima de montagem de contagem é o número de montagens, após o qual o sistema será automaticamente marcada pelo fsck.
- intervalo de verificação é o tempo entre duas verificações do sistema de arquivos.
esses dois valores são suficientes para identificar quando o comando fsck foi executado pela última vez.
diferença entre fsck e e2fsck
você pode encontrar diferentes respostas / artigos pedindo-lhe para executar e2fsck ou fsck.ext4 em vez de fsck. Que diferença faz se você executar alguma dessas ferramentas em vez de fsck
?
fsck
é apenas um frontend para todos os comandos fsck específicos do sistema de arquivos, como os dois mostrados acima (um wrapper, se você pode dizer). Invocar fsck
invoca automaticamente o fsck
específico do sistema de arquivos correto. Vamos ver o que todos os fsck
existe em nosso sistema:
$ ls -l /sbin/fsck*
a Execução fsck
em um ext2/3/4 partição é executado o respectivo /sbin/fsck.ext*
executável. Esses executáveis, por sua vez, são links rígidos para o executável e2fsck
. Portanto, mesmo se você executar fsck
em uma partição ext4, ela será executada e2fsck
.
conclusão
neste tutorial, cobrimos fsck
que é uma ferramenta útil para a recuperação de sistemas de arquivos. Para saber mais sobre o comando fsck
, veja sua página man.
Leave a Reply