Parcialmente sobrescrito / dev / sda, posso recuperar alguma coisa?

5

Eu estava brincando com meu novo disco rígido, que contém apenas alguns arquivos pessoais, e para verificar sua velocidade de gravação, digitei: sudo dd if=/dev/zero of=/dev/sda , /dev/sda/ sendo o novo 2 TB conectado ao meu Raspberry Pi.

Espero que tenha cancelado o comando e apenas 11 MB tenham sido escritos. Agora o conteúdo do disco não pode aparecer, e agora parted me diz que a árvore de partições é assim:

|--- unallocated 8.00 MB
|--- unknown 1.82 TB
|--- unallocated 9.08 MB

Antes, era assim:

|--- ext4 1.82 TB

Não sei se dd substituiu os primeiros 11 MB do disco, o que significa que a tabela de partição foi totalmente sobrescrita ou que bits aleatórios do disco rígido foram sobrescritos.

Agora o disco rígido está conectado ao meu laptop Xubuntu 14.04 como /dev/sdb . Eu tentei gpart que ainda está em execução e também testdisk sem sucesso.

Sabendo que o disco inteiro era ext4 e que o tamanho do setor era 4096, é possível recuperar a tabela de partição sem reformatar e me permitir acessar meus arquivos novamente (mesmo que alguns tenham sido corrompidos / excluídos) ? Ou a única solução que tenho é usar uma ferramenta de recuperação de arquivos, o que seria cansativo devido à quantidade de dados para copiar armazenados nesta unidade?

    
por GeoffreyFrogeye 02.08.2014 / 16:51

1 resposta

7

Primeiro você precisa reconstruir a tabela de partições do jeito que estava. Isso não afetará o conteúdo de nenhuma partição, apenas a idéia do sistema de onde cada partição começa e termina. Parece que você pode já ter feito isso porque você parece ter uma partição que é "desconhecida", mas exatamente do mesmo tamanho da partição anterior.

Se você ainda não fez isso, então você pode tentar criar uma grande partição usando o mesmo programa de edição de partições que foi usado para criá-la em primeiro lugar (por exemplo, fdisk , gdisk , parted ) e aceite o canal sugerido padrão, esperando que esses padrões resultem no mesmo posicionamento de antes. Novamente, aqui, parece que você sabe qual software de partição foi usado: parted.

Depois disso, o truque que você precisará é fsck do sistema de arquivos usando um superbloco de backup. Mais uma vez aqui, você tem que esperar que o sistema de arquivos tenha sido criado em primeiro lugar com as opções padrão, ou então você precisa saber quais opções não padrão foram usadas para criar o sistema de arquivos. (Eu diria que os sistemas de arquivos são normalmente criados com opções padrão.)

  1. Execute mkfs com as mesmas opções que foram usadas para criar o sistema de arquivos em primeiro lugar (ou seja, provavelmente sem opções, ou seja, padrões), exceto adicionar -n , o que significa não crie o sistema de arquivos para real.
  2. A saída mkfs gerará uma lista de superblocos alternativos. Você precisará usar um desses porque o superbloco principal do sistema de arquivos foi sobrescrito. Quanto maior a parte do dispositivo de bloco que foi sobrescrito, mais superblocos alternativos da lista serão danificados.
  3. Execute fsck com a opção -b para especificar um superbloco alternativo.

Eu tenho que avisá-lo que tudo o que você recuperar provavelmente será uma grande bagunça e exigirá muita limpeza manual. Espere um pouco de perda e os arquivos perdidos são reconectados em lost+found .

    
por 02.08.2014 / 17:17