sábado, 22 de agosto de 2009

COPIANDO DADOS DE MIDIAS DEFEITUOSAS

Copiando dados de mídias defeituosas


É difícil copiar arquivos a partir de um HD com badblocks, ou um CD-ROM riscado, por meios normais. 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ê quase 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.

O dd_rescue é mais um pequeno utilitário que pode ser executado a partir de uma distribuição Linux live-CD. Se você está usando o Kurumin, Knoppix, Ubuntu, ou outra distribuição baseada no Debian, pode instalá-lo diretamente, via apt-get (logado como root):

# apt-get update
# 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
(onde /mnt/hda6/cdrom.img é o arquivo onde os dados serão salvos)

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, indicando a pasta onde os arquivos ficarão acessíveis, como em:

# mount -o loop /mnt/hda6/cdrom.img /mnt/imgcdrom
ou:

# mount -o loop /mnt/hda6/hda1.img /mnt/imghda1

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 a 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



Nenhum comentário:

Postar um comentário

BEM AMIGOS.
DEVO LHES DIZER QUE EU TENHO DISPONÍVEL, APOSTILAS DE ELETRÔNICA DO NOBREAK.
VOCÊS TERÃO UM APRENDIZADO RÁPIDO, TEÓRICO E PRÁTICO.
MESMO QUE VOCÊ NUNCA TENHA PEGADO UM NOBREAK PARA CONSERTAR (damos dicas e consultorias técnicas) zap 71 98711 7534
CONFIRA.
COM jjsound45@gmail.com