Eu tive uma experiência razoavelmente boa com o SpinRite, mas acho que é superestimado. De fato, pode ser inteligente demais para o seu próprio bem. Existem soluções gratuitas que funcionam tão bem (na verdade, as gratuitas podem funcionar ainda melhor).
Tivemos uma unidade NTFS de 200 GB que de repente falhou catastroficamente. Era para ser a unidade "compartilhada" na qual as pessoas simplesmente despejavam coisas temporariamente, mas acabou se transformando em um enorme repositório de dados com backups diversos, além de um monte de arquivos que ninguém se importava em fazer backup em nenhum lugar. Quando a unidade morreu, não conseguimos montar, não importando quantas vezes rodamos o chkdsk ou outras ferramentas.
No final, compramos e rodamos o SpinRite ... que continuou a funcionar por mais de 1 mês. Toda vez que atingia um cluster ruim, passava horas tentando recuperar dados dele. Novamente, ele funcionou sem parar por mais de um mês, tentando recuperar dados de uma unidade com defeito de 200 GB. (Na defesa do SpinRite, ele pode escanear uma unidade em apenas algumas horas se não houver defeitos físicos.) O SpinRite acabou conseguindo recuperar todos os nossos arquivos, embora muitos dos maiores tenham se mostrado corrompidos. O SpinRite também tornou a unidade montável novamente. Então eu definitivamente diria que fez alguma coisa.
No entanto, apesar de funcionar, não sei se ajudou mais do que apenas inicializar um CD do Linux e executar o dd para copiar a unidade inteira em um arquivo. Há algo a ser dito por não executar um disco que está morrendo por um mês inteiro, pois está morrendo! Defeitos físicos parecem ter o hábito de se espalhar. Não me surpreenderia se o disco se degradasse ainda mais enquanto o SpinRite estava em execução. Pessoalmente, prefiro retirar os dados do disco o mais rápido possível, criar várias imagens de backup e tentar reparar os arquivos offline.
Tivemos que recuperar outros dados recentemente e o dd fez um ótimo trabalho. Você pode pedir para copiar todos os dados bons da unidade e executar mais algumas vezes para tentar com mais esforço (por exemplo, usar tamanhos de bloco menores) tentando extrair dados das áreas ruins.
Se você tiver mais ou menos uma hora, eu diria que vale a pena aprender a usar o dd em vez de comprar o SpinRite:
http://www.debianadmin.com/recover-data-from-a-dead -hard-drive-using-dd.html
Ou siga a rota um pouco mais fácil e faça o download do dd_rescue:
http://www.garloff.de/kurt/linux/ddrescue
Se você ainda deseja executar o SpinRite, eu recomendo fazê-lo APÓS você ter copiado todos os dados existentes da unidade, caso a unidade por um longo período de tempo permita que ela se torne ainda mais degradada.
Toda vez que você obtém uma nova unidade, deve inicializar um CD do Linux e executar badblocks para verificar se há defeitos. Você também deve verificar periodicamente suas unidades quanto à degradação. Tivemos pelo menos 2 unidades novas com defeitos e mais 3 ou 4 morrem em alguns meses (apesar de termos feito testes completos antes de colocá-las em serviço).
Observe que você precisa executar badblocks como root ou prefixar os comandos com "sudo" se estiver inicializando em um CD ao vivo do Ubuntu.
Unidades novas (aviso: destrói todos os dados!):
badblocks -wvs /dev/sd#
ou
badblocks -wvs /dev/hd#
Unidades em uso (teste somente leitura):
badblocks -vs /dev/sd#
ou
badblocks -vs /dev/hd#
Onde # é o número da unidade no Linux. As unidades IDE geralmente são chamadas de / dev / hd # e as unidades SCSI (e geralmente SATA) são / dev / sd #.
Mais informações sobre badblocks aqui: http://en.wikipedia.org/wiki/Badblocks
A propósito, mesmo que dd e badblocks sejam programas Linux, você pode usá-los em unidades NTFS e até montar partições NTFS no Linux, independentemente de estar usando partições MBR, discos dinâmicos ou discos GPT.
A documentação de Steve discute muitos problemas hipotéticos com os quais o SpinRite teoricamente poderia ajudar. Por exemplo: os dados desaparecendo com o tempo e precisando ser "atualizados" lendo todos os blocos e gravando-os novamente no disco ou a noção de que reposicionar repetidamente a cabeça de leitura em ambos os lados de um bloco permitirá que você divine estatisticamente os dados originais armazenados nesse bloco. Logicamente, essas coisas fazem sentido, mas acho que são apenas soluções para problemas acadêmicos que podem não surgir no mundo real. (Pelo menos, com discos rígidos - talvez os discos Zip e outros sejam mais suscetíveis ao desbotamento dos dados.) Se Steve citou artigos sobre os assuntos ou se essas técnicas foram provadas experimentalmente eficazes, então eu esperaria que houvesse muitos clones SpinRite de código aberto ou disponíveis comercialmente. Estaria bem dentro dos recursos de um programador de scripts comum escrever um shell script Python, Perl ou UNIX que inclua todos os recursos documentados do SpinRite.