Ao criar um disco USB de instalação, cometi o erro trivial de indicar o dispositivo errado e acabei sobrescrevendo as poucas centenas de megabytes iniciais de um disco de 230 GB.
Os dados não eram extremamente importantes, mas eu ainda gostaria de recuperar o que eu puder. A primeira tentativa, óbvia, foi photorec
, que encontrou algumas coisas. Mas então, eu esperava poder "consertar" o que sobrou do sistema de arquivos (afinal, eu sobrescrevi menos de 0,5%).
Então eu tentei executar e2fsck
com várias combinações de parâmetros, incluindo o uso de um superbloco de backup (de forma análoga ao que é sugerido em uma resposta a uma pergunta relacionada ), e acabei com um monte de pastas em "lost+found" - justo. O problema é que algumas dessas pastas ainda dão erros como
ls: cannot access 'lost+found/#26128': Structure needs cleaning
... mas se eu executar novamente e2fsck -f
(como sugerido em outras respostas ), não recebo nada de estranho
e2fsck 1.47.0 (5-Feb-2023)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
EData: 191504/15269888 files (0.1% non-contiguous), 48227460/61049344 blocks
... e, a propósito, isso leva apenas alguns segundos, então está claro que não é realmente verificar todo o conteúdo do disco. Tentei verificar outras opções e, por exemplo, tentei -E discard
, mas nada mudou: a verificação ainda é muito rápida, e algumas pastas internas lost+found
ainda dão os mesmos erros.
Como posso corrigir os erros com essas pastas que dizem "Estrutura precisa de limpeza"?
Observe que o dispositivo está funcionando perfeitamente do ponto de vista de hardware.
Uma parametrização e2fsck super hardcore para consertar tudo é:
e2fsck -f -y -C0
.Nunca vi isso nas últimas 3 décadas. Se não houver nada realmente importante no arquivo #26128, então eu o apagaria com um
debugfs
comando e então executariae2fsck -f -y -C0
novamente.Você certamente está em uma situação excepcional.
Seu erro não parece ser assim, mas talvez seja algum efeito colateral de um superbloco sobrescrito ou danificado. Tente usar um superbloco de backup ou secundário. Superbloco é a estrutura de dados do descritor do sistema de arquivos principal.
Você pode usar o comando debugfs para excluir o arquivo. É uma ferramenta geral de recuperação de fs. Essa é uma ferramenta de linha de comando bem mínima para fazer exatamente mudanças "duras" similares em sistemas de arquivos danificados como esse.
Depois disso,
e2fsck -f -y -C0 /dev/partition
consertaremos o sistema de arquivos.