Quantas vezes nos deparamos com esses problemas... aquele CD que falha em determinada parte de uma cópia por erro de leitura. Até
aí, se o problema são os arranhões, a solução mais viável seria polir levemente a parte de leitura do CD, até que eles desapareçam gradativamente
e com produtos apropriados para esse fim.
Mas existem casos mais graves, como riscos que danificam a área da platina do CD, nesse caso, apenas polir não
vai resolver o problema... o mesmo caso se aplica nas mídias de DVD.
Os disquetes, apesar de serem arcaicos, ainda são utilizados, principalmente onde não existem redes interligando
os micros... e quando danificados fisicamente, é praticamente uma tarefa impossível recuperar os dados que ali estavam... Os maiores inimigos deles
são os fungos que deterioram o material magnético que compõem a superfície do disco flexível.
Verificá-lo com scandisk seria a coisa mais certa a fazer, mas há casos em que ele inutilizaria o disquete completamente.
No Linux temos um utilitário que recupera esses dados, tanto em disquetes, como em CDs e unidades de disco rígidos. É o
dd_rescue, que
vem em algumas distribuições Linux, mas também pode ser obtido em
http://www.garloff.de/kurt/linux/ddrescue gratuitamente.
Mas, o que esse pequeno utilitário faz? Simples, se o arquivo estiver danificado, ele fará uma verificação de erros
e copiará os dados bloco a bloco. Se algum erro for encontrado, o dd_rescue irá ignorar o bloco danificado.
O processo é muito semelhante ao do programa Badcopy para Windows, mas o dd_rescue tem a vantagem de ser gratuito.
Agora, vamos tomar alguns exemplos:
Temos um disquete cujo um arquivo está com um erro e o scandisk não conseguiu reparar, por não conseguir ao menos
ler os blocos danificados, para usar o dd_rescue é necessário fazê-lo pelo console:
dd_rescue arquivo_problemático arquivo_reparado
Ex: Tenho um arquivo no meu disquete cujo o nome é Tutorial_Xine.sxw que não consigo abrir pelo Windows e quero
salvá-lo no meu HD. Então, logo o comando seria:
Este comando irá verificar o arquivo Tutorial_Xine.sxw bloco a bloco, e se houverem erros de leitura, ele irá ignorar
os blocos defeituosos, copiando somente os que estão intactos.
Mas, se quiser que o dd_rescue tente recuperar o tamanho original dele, use-o com a opção -A:
Isso fará com que o dd_rescue preencha os blocos defeituosos com blocos vazios, a fim de preservar o tamanho original do arquivo.
Você pode também recuperar dados de uma partição inteira de um disco rígido, ou de mídias removíveis:
Ex: Quero copiar uma unidade de disco rígido inteira ignorando os blocos defeituosos.
# dd_rescue /dev/hda4 WindowsXP.img
Ou se preferir, pode usar com a opção -A que já vimos anteriormente:
# dd_rescue -A /dev/hda4 WindowsXP.img
Caso queira recuperar dados de CD/DVDs defeituosos, a sintaxe é esta:
dd_rescue /dev/cdrom nome_da_imagem.iso
Ps: Não me responsabilizo pelos danos ou perda de dados, caberá ao usuário decidir se fará por sua conta e risco.