Copiando dados de HDs ou CDs defeituosos

É difícil copiar arquivos, por meios normais, a partir de um HD com badblocks, ou um CD-ROM riscado. Os programas fazem a cópia apenas até o ponto em que encontram o primeiro erro de leitura. Mesmo que exista apenas um setor defeituoso no meio do arquivo, você nunca conseguirá copiar o arquivo inteiro, apenas a metade inicial.

Existe um utilitário eficiente para fazer cópias a partir de mídias ruins, o dd_rescue. Ele faz a cópia das partes boas, ignorando os setores defeituosos. Funciona bem para recuperar arquivos de texto, imagens, vídeos, músicas, qualquer tipo de arquivo que possa ser aberto mesmo que estejam faltando alguns pedaços.

Você pode instalar o dd_rescue pelo apt-get:

# apt-get install ddrescue

Para usá-lo, indique a localização da partição ou CD-ROM que será copiado e um arquivo de destino. Ao copiar uma partição, você sempre precisa copiar o arquivo para dentro de uma partição diferente. A partição ou CD-ROM de origem deve sempre estar desmontada.

Para copiar um CD-ROM:

# dd_rescue /dev/cdrom /mnt/hda6/cdrom.img

Para copiar uma partição:

# dd_rescue /dev/hda1 /mnt/hda6/hda1.img

Para acessar os arquivos dentro da imagem, você deve montá-la usando a opção “-o loop” do mount, que monta um arquivo como se fosse um dispositivo:

# mount -o loop /mnt/hda6/cdrom.img /home/kurumin/cdrom
ou:
# mount -o loop /mnt/hda6/hda1.img /home/kurumin/hda1

Você verá todos os arquivos dentro da pasta, e poderá acessar o que foi possível ler.

Um problema do dd_rescue é que ele lê cada setor defeituoso várias vezes, de forma a tentar obter os dados a qualquer custo. Por um lado, isto é positivo, pois ele realmente acaba conseguindo recuperar vários setores que falham na primeira leitura, mas por outro lado, faz com que o processo de recuperação fique extremamente lento em mídias com muitos setores defeituosos.

Isto é especialmente problemático ao recuperar dados em HDs, pois se o teste demora muito, a possibilidade do drive dar seu último suspiro durante a recuperação, levando consigo os dados restantes é muito maior.

Uma solução é usar o “dd_rhelp“, um programa que trabalha em conjunto com o dd_rescue, otimizando seu comportamento.

Ao usar o dd_rhelp, o processo de recuperação é dividido em duas etapas. Na primeira ele recupera os dados, pulando os setores defeituosos. Quando a recuperação está completa, ele carrega lista dos setores que falharam na primeira leitura e aí sim, passa ao comportamento padrão, lendo cada setor várias vezes. A diferença é que no caso você já está com os dados seguros.

Você pode baixar o dd_rhelp no http://www.kalysto.org/utilities/dd_rhelp/download/index.en.html ou http://freshmeat.net/projects/dd_rhelp/.

No site está disponível apenas o pacote com o código fonte, mas ele é relativamente simples de compilar. Descompacte o arquivo, acesse a pasta que será criada e use os comandos:

# ./configure
# make

Isto vai criar o executável dentro da pasta atual. Ao usá-lo, a sintaxe é a mesma do dd_rescue:

# ./dd_rhelp /dev/cdrom /mnt/hda6/cdrom.img

Sobre o Autor

Redes Sociais:

Deixe seu comentário

X