Recuperar o sistema de arquivos ext4 após formatação rápida

4

Formatei acidentalmente uma das minhas unidades e espero recuperar uma parte importante do meu sistema de arquivos, já que 'apenas' fiz um formato rápido.

Depois de instalar um segundo disco rígido idêntico, rapidamente gravei o disco errado por acidente através do Disks-Application do Ubuntu (14.04). A unidade estava no formato ext4 antes e eu fiz o formato rápido para ext4 novamente. Havia apenas uma única partição na unidade. Apenas alguns segundos após o dano ter sido feito, desmontei o disco para evitar gravações acidentais.

Os arquivos que estou depois estão em formato binário (sem extensões, tanto quanto sei, como .npy .t7 .mat ), alguns são .txt arquivos.

Lendo através de fóruns e blogs, eu entendi que o Testdisk + Photorec pode ajudar a recuperar a partição perdida. Dei uma rápida tentativa à Photorec, mas como a maioria dos arquivos importantes é binária e não tem assinatura de arquivo, acabei tendo milhares de arquivos .txt inúteis e arquivos .mat não legíveis. Testdisk por outro lado, exibe prompts inconclusivos, tanto quanto eu entendo. Eu ainda não tentei realizar uma varredura profunda, pois espero que a informação esteja no começo da unidade (a unidade tem 8 TB). Veja os seguintes instantâneos do Testdisk para mais informações:

Tela de seleção de partições

Menu avançado depois de selecionar Nenhum como tipo de partição

  • Selecionar EFI-GPT ou Intel como tipo de partição resulta em Testdisk informando que não há partições disponíveis.

A análise do drive (depois de selecionar o tipo None) resulta na partição vazia (exceto por um empty lost + found). Em contraste, analisar o inversor depois de selecionar o tipo GPT resulta em muitas entradas idênticas desse tipo: ext4 0 0 1 972801 80 63 156280533168

Superblocos:

superblock 0, blocksize=4096
superblock 32768, blocksize=4096
superblock 98304, blocksize=4096
superblock 163840, blocksize=4096
superblock 229376, blocksize=4096
superblock 294912, blocksize=4096
superblock 819200, blocksize=4096
superblock 884736, blocksize=4096
superblock 1605632, blocksize=4096
superblock 2654208, blocksize=4096

Perguntas

  1. O que o Ubuntu faz especificamente na unidade ao selecionar o formato rápido? Podemos inferir a partir disso se é (im) possível recuperar o sistema de arquivos?

  2. Posso recuperar partes da estrutura usando Superblocks? Em algum lugar eu li que um superbloco de backup está escrito na posição 1024. Isso é recuperável ou isso foi resolvido também por meio do formato rápido?

  3. Quais opções, exceto as recuperações de arquivos como Photorec ou Scalpel, permanecem para recuperar meu sistema de arquivos? Conheço os caminhos completos de alguns dos arquivos mais importantes que desejo recuperar.

por Max 18.01.2017 / 14:57

1 resposta

2

Consegui recuperar todos os meus arquivos usando um Superblock de backup! Depois que o TestDisk não pôde me ajudar, tentei uma abordagem de uma pergunta relacionada. Por uma questão de clareza, aqui os passos que tomei para recuperar minha estrutura de arquivos:

  1. Certifique-se de que sua unidade esteja desmontada.
  2. Descubra seus Superblocos de backup via

    dumpe2fs /dev/<drive-id> | grep -i superblock

    por exemplo. dumpe2fs /dev/sdb | grep -i superblock

  3. Verifique o sistema de arquivos com base em um dos Superblocks, mas não aplique nenhuma alteração ainda para ver se esse Superblock em particular está estruturalmente intacto.

    fsck.ext4 -v -n -C 0 -b <Superblock> /dev/<drive-id>

    por exemplo. fsck.ext4 -v -n -C 0 -b 2654208 /dev/sdb

    -v torna o comando verboso para mostrar mais detalhes, -n garante que nenhuma tentativa de corrigir o sistema de arquivos seja feita sempre respondendo 'não' a cada prompt, -C 0 exibe uma barra de progresso e -b define a posição inicial de um Superblock dado pela etapa anterior.

  4. Se um Superblock adequado for encontrado, deixe fsck.ext4 corrigir seu sistema de arquivos substituindo o -n por -y para aceitar todas as correções automaticamente.

    fsck.ext4 -v -y -C 0 -b <Superblock> /dev/<drive-id>

  5. Reinicie e monte a unidade.

No meu caso, o primeiro nível de nomes de diretório não pôde ser recuperado. Assim, todos eles podem ser encontrados com base no nome inode no diretório lost+found , que está oculto.

    
por Max 23.01.2017 / 16:00