Recuperar dados de uma partição montável recusando 'cp' mas permitindo 'dd'

0

Recentemente, minha unidade interna falhou após uma reinicialização manual e eu gostaria de recuperar os dados antes de alterá-los. Meu computador é um Macbook Pro meados de 2012 e a unidade está formatada como HFS +. (Do meu ponto de vista, o problema é relacionado ao hardware e, portanto, não é específico do mundo da Apple, portanto, postei aqui em vez de apple.stackexchange, mas sinta-se à vontade para migrá-lo, se necessário.)

A habitual clonagem dd não é uma opção: é uma unidade de 500GB e, por alguma razão, a taxa da cópia é de 20KB / s (bem, pelo menos com bs=512 , que eu recomendei quando lidei com discos rígidos), o que significa que levaria aproximadamente 6000 horas para fazer o trabalho ...

Montar a partição e usar cp também não é: quando tento isso, recebo a mensagem

cp : Input/output error

Além disso, pode ser importante dizer que não consigo montar a partição de maneira tradicional. Ele é montado apenas no início no modo de recuperação ou após executar uma análise com o TestDisk ao inicializar a partir de uma unidade externa.

A partir da análise com o TestDisk (que não revela nenhum erro), acho que o sistema de arquivos é bom e estou mais inclinado a pensar que a unidade tem blocos ruins (portanto, fisicamente danificados, certo?). Além disso, quando eu tentei fsck_hfs , com certeza não funcionou, mas o erro parecia não estar relacionado ao sistema de arquivos: ele dizia

could not get Block 2, not a MDB sector
[...]
volumeType is 0

(Se necessário, posso reexecutá-lo para colar todo o log.)

Mas ainda posso usar dd em arquivos individuais (não preciso de todos os dados) quando a partição é montada. Existe algum script / software que use dd internamente para copiar o conteúdo de diretórios inteiros? Eu realmente não quero realmente escrever um comando dd em centenas de arquivos ...

Ou alguém tem uma ideia melhor para recuperar um pouco desses dados?

    
por Pece 09.02.2016 / 07:59

1 resposta

1

Usar dd com bs=512 pode realmente prejudicar a velocidade, estou imaginando que é como tentar correr uma milha, mas com etapas de 1 polegada. Usar um valor maior como bs=10M ou maior deve ser muito melhor.

De qualquer forma, os arquivos provavelmente não são todos contíguos, então tentar cortar apenas as partes certas da unidade com dd não funcionará para cada arquivo e (provavelmente, não tenho certeza de como o HFS funciona) seus nomes de arquivos também. Uma ideia melhor seria tentar um programa que possa copiar arquivos de partições que possam ter problemas, usando:

  • testdisk pode examinar arquivos (incluindo arquivos excluídos recentemente) de muitos sistemas de arquivos e copiá-los de uma partição. O programa irmão photorec pode pesquisar em uma unidade bruta (ou imagem da unidade) e copiar arquivos também, mas geralmente sem seus nomes originais.

  • Mas o melhor é usar gddrescue para fazer uma cópia das partes legíveis da unidade, supostamente é um especialista em recuperação de dados com unidades com falha, pode pular partes que falham em uma leitura e, uma vez Obtive todas as partes "fáceis" que você pode tentar novamente para as partes "duras" que podem ou não ler, mas demoram muito tempo. Então você pode tentar corretamente verificar / consertar o sistema de arquivos e esculpir os dados (photorec) sem se preocupar com mais danos ao drive ou falhas súbitas.

    • Veja o Manual do GNU ddrescue e há alguns guias disponíveis na web (mas eu Estou mais apto a ler o bom manual primeiro).
por 09.02.2016 / 14:06