Como executar a verificação completa da estrutura do sistema de arquivos ext4?

25

Eu tenho 2TB partição ext4 com meio milhão de arquivos nele.
Quero verificar se esta partição contém algum erro ou não.
Não quero procurar blocos defeituosos, apenas a estrutura lógica deve ser verificada.

Desmontei a partição e executei fsck /dev/sda2, mas o fsck retorna imediatamente com o código de saída 0 sem realmente verificar o sistema de arquivos inteiro.
Espero que a verificação completa da partição leve horas para ser concluída.
Eu li, man fsckmas não encontrei uma opção para "testes completos".

Receio que minha partição possa ter alguns setores substituídos acidentalmente por dados de lixo.
Meu HDD estava conectado anteriormente a outro sistema operacional e a partição ext4 pode ser prejudicada pelo comportamento errado desse sistema operacional.
É por isso que quero ter certeza de que toda a estrutura da árvore está completamente correta.

Em outras palavras, desejo executar uma verificação semelhante à que o utilitário chkdsk.exefaz no Windows.
O que devo usar no Debian para verificar completamente o sistema de arquivos ext4?

Egor Skriptunoff
fonte
2
@SatoKatsura - Thanks! Só me pergunto por que o e2fsck -fcheque é tão rápido - leva apenas alguns segundos? É incrível comparado ao comportamento do Windows (leva horas).
Egor Skriptunoff

Respostas:

27

Como mencionado por Satō Katsura , execute e2fsckno modo "force":

e2fsck -f /dev/sda2

Isso forçará uma verificação mesmo se o sistema achar que o sistema de arquivos está limpo. A opção "detalhada" também é útil:

e2fsck -vf /dev/sda2

Como nota lateral e não aplicável no seu caso, mas se você usar o LVM para seu armazenamento, poderá usar a pequena lvcheckferramenta para executar uma verificação "offline" do sistema de arquivos em um sistema de arquivos montado (ele usa um instantâneo e atualizações do LVM os metadados do sistema de arquivos se a verificação não encontrar nenhum erro).

Stephen Kitt
fonte
7

Além disso, você pode adicionar a -ybandeira para evitar responder perguntas.

Do manual :

-y assuma uma resposta yespara todas as perguntas; permite e2fsckser usado de forma não interativa.

Então, estendendo a resposta (já que ainda não posso comentar) do @Sato - você pode executar:

e2fsck -vfy /dev/sda2
empalar
fonte
6
Isso pode ser arriscado, porque você não sabe antecipadamente o que pode ser solicitado e forçar uma resposta sim a tudo pode, na pior das hipóteses, levar à perda de dados recuperáveis.
24417 Alex
0

Você também pode verificar os sistemas de arquivos ao vivo no modo somente leitura com este:

e2fsck -vfn /dev/sda2
Átila
fonte
Da ajuda do e2fsck: "No entanto, mesmo que seja seguro, os resultados impressos pelo e2fsck não são válidos se o sistema de arquivos estiver montado." Não sei qual é o objetivo, como verificar ...: /
joaerl