Como dizer ao rsync para pular arquivos em um bloco de disco rígido danificado, em vez de ficar preso tentando lê-lo

9

Estou tentando recuperar arquivos de um disco com erros de hardware.

O disco foi reparado pelo utilitário de disco, mas ele me disse que o disco está danificado, por isso preciso fazer backup de tudo antes que uma falha aconteça.

Então eu tentei copiar os arquivos via finder, mas ficou preso. Tentei outros utilitários e eles ficam presos tentando copiar os arquivos, quando a cabeça atinge o bloco danificado.

Então eu tentei com o rsync e parece funcionar; mas demora uma eternidade quando acerto um bloqueio ruim.

Então, eu estava pensando, se há uma maneira de dizer ao Rsync para não se incomodar com um arquivo, se demorar muito? Ou eu posso especificar o número de tentativas com cada arquivo, ou quanto tempo ele precisa para tentar cada arquivo?

Não sei quanto tempo esta unidade durará honestamente, por isso quero retirar todos os dados o mais rápido possível, enquanto ainda posso montá-los e ver os dados no localizador.

Isto é o que eu estou usando como comando; por favor conselho se houver alguma maneira de reduzir a tentativa em um arquivo, então eu posso ter rsync para tentar ler os blocos danificados, mas evite ficar preso em um setor específico por muito tempo.

rsync -arv -e--ignore-errors --partial-dir=/Volumes/backup/partial /Volumes/work /Volumes/backup

Obrigado antecipadamente.

    
por rataplan 17.04.2013 / 00:16

1 resposta

7

Resposta curta: rsync não é a ferramenta certa a ser usada neste caso: seu uso pode ser até prejudicial.
Use ddrescue (melhor que dd_rescue ). É capaz de fazer o que você está pedindo.

Se o disco estiver fisicamente danificado, existe a possibilidade de tijolo com qualquer tentativa de consertá-lo.

Não é apenas uma questão sobre o uso de seu tempo , quando rsync parece ficar para sempre se aproximando de um setor danificado. O problema é que com operações repetidas uma falha irreparável pode acontecer, e então você não será mais capaz de resgatar seus dados sem reposição de peças caras (sempre que ainda for possível e você não terá bricked seu HDD ).

Neste caso, o procedimento mais seguro que encontrei é

  1. Para criar uma imagem não processada em outro disco não quebrado.
  2. Para criar uma cópia dessa imagem.
  3. Para trabalhar na cópia para corrigir o sistema de arquivos e para resgatar os arquivos .

Por que a cópia? Porque se falhar alguma coisa na etapa de correção sistema de arquivos , você pode sempre iniciar novamente sem a necessidade de tocar novamente no HD original .

Eu sugiro que você use ddrescue , para fazer a imagem de disco bruta, incluindo defeitos, porque funciona bem mesmo em caso de erros de leitura.

Como fazer isso com ddrescue

Você pode usar ddrescue exatamente como gostaria de usar rsync , ignorando os setores danificados sem tentar separá-los ou copiá-los, copiando o máximo de dados possível.
Este comando está aqui abaixo (em vez de /dev/hda1 você colocará seu dispositivo):

ddrescue --no-split /dev/hda1 imagefile logfile

Depois disso, você fez essa primeira passagem (a mais rápida ), você pode tentar refazê-la tentando acessar por 3 vezes em caso de erro.

ddrescue --direct --max-retries=3 /dev/hda1 imagefile logfile 

Você pode continuar a refinar a imagem repetindo as invocações do comando ddrescue com outras opções, tentando cada vez extrair mais dados (consulte as referências). Quando você terminar, você pode criar a cópia (se você tiver todo o espaço necessário) e então corrigir o sistema de arquivos .

Observe que a imagem bruta será tão grande quanto o HDD original .
Você pode encontrar na internet, neste e em outros sites do StackExchange, muitas perguntas e respostas sobre como resgatar dados com ddrescue ou outras ferramentas.

Referências:

por 30.09.2015 / 18:44

Tags