ct

    Copiando dados de HDs ou CDs defeituosos

    Dicas do Guia do Hardware

    Todo mundo sabe que os backups são importantes e bla, bla, bla. Mas, a realidade é que poucos se lembram de fazê-los regularmente, levando a situações desesperadoras, onde um CDR riscado ou um HD cheio de badblocks, dando seus últimos suspiros, guardam informações vitais. Esta é uma dica para usar quando o pior já aconteceu e você precisa recuperar os dados de qualquer maneira, por pior que seja o estado da mídia :) Carlos E. Morimoto
    14/02/2006


    É 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




    Blog:

    Add to Google

    » Gostou do texto? Veja nossos livros impressos:
    Hardware | Redes | Servidores | Kurumin 7

    ... ou encontre o que procura usando a busca:

cb
Livros de Carlos E. Morimoto HOME