ddrescue: releia somente setores bons?

3

Antes de criar imagens do sistema de arquivos corrompido em um arquivo em outro disco rígido, decidi executar ddrescue (lançando a saída recuperada em /dev/null ) apenas para ver quantos dados são ilegíveis:

# ddrescue -d -b 4096 -r 3 -f /dev/sda1 /dev/null sda1.log

No final demorou 3 dias para terminar. Agora estou pronto para fazer uma imagem real, mas não quero esperar mais 3 dias até que termine. Mas, felizmente, porque eu tenho um arquivo de log, é possível forçar ddrescue a resgatar apenas os setores bons e não tocar os setores ruins?

Depois de ler alguma documentação, surgiu a seguinte ideia:

# ddrescue -d -b 4096 --fill=+ /dev/sda1 /mnt/sda1.img sda1.log

Isso funcionará? Existe outra maneira (preferida) de reler somente bons setores?

    
por evaldaz 10.01.2013 / 12:55

3 respostas

1

Completamente releia o manual ddrescue e descubra a seguinte opção:

-m file
--domain-logfile=file

Restrict the rescue domain to the blocks marked as finished in the logfile file. This is useful if the destination drive fails during the rescue.

Assim, a invocação de ddrescue seria algo como isto:

# ddrescue -d -b 4096 -m sda1.log /dev/sda1 /mnt/sda1.img logfile2.log
    
por 11.01.2013 / 23:24
3

Esta é uma ideia muito ruim !

Estou falando sobre Antes de imaginar o sistema de arquivos corrompido para um arquivo em outro disco rígido ...

Como quando uma unidade de disco é corrompida, a corrupção geralmente aumenta sempre que você tenta acessar sua unidade .

Então a boa maneira de resgatar uma unidade quebrada é fazer uma imagem copiando todo o disco do começo ao fim em uma operação ininterrupta! . Depois disso: desconecte a unidade de disco e armazene-os silenciosamente. Como: menos você toca na unidade quebrada, mais chances você tem de restaurar alguma coisa.

Como a cada vez que o acesso mecânico a material quebrado pode causar mais danos, o registro de sua última operação não é uma referência para saber que o bloco está danificado agora .

Eu pessoalmente não uso ddrescue . Eu uso dd de um tempo e essa ferramenta faz tudo que eu preciso:

dd bs=512 if=/dev/sdX of=/backuprepo/sdXBroken.img conv=noerror,sync

E deixo-o trabalhar pacientemente. ; -)

Desculpe. Boa sorte!

    
por 11.01.2013 / 14:54
1

Sabendo o que o ddrecue faz, você não deve usá-lo para gravar em / dev / null ao recuperar dados do disco quebrado, mas para obter "pelo menos alguma coisa" usando gravações em arquivos de imagem reais.

Escrever para / dev / null tem sentido, por ex. se você quiser saber se há disco novo para devolvê-lo à loja.

Neste caso, eu não usaria o arquivo de log de "/ dev / null attempt", mas vazio / novo, e então tentaria mais vezes alguns passos, dependendo de como isso acontecesse ...

    
por 20.05.2016 / 17:48