No meu escritório, usamos uma vez o SpinRite para recuperar dados de uma unidade com falha. Infelizmente, acho que o SpinRite fez mais mal do que bem, com mais de um mês de uso sem parar & rasgar na unidade enquanto tentava recuperar os dados.
Acho que a sua melhor aposta é tentar usar o Linux para clonar sua unidade com falha em uma boa unidade usando o dd_rescue. Você pode baixar um Live CD do Ubuntu e usar o dd_rescue para recuperar dados da unidade com falha. Depois de clonar a unidade, você também deve fazer outra cópia do clone.
Depois de clonar a unidade e fazer um backup do clone, você pode tentar usar outros utilitários para reparar o dano do sistema de arquivos ou montar a unidade em outro computador e tentar recuperar os arquivos no Windows.
Se a unidade parecer complicada, às vezes você pode fazer com que ela funcione melhor por um curto período de tempo congelando-o .