Provavelmente, o "padrão ouro" para este tipo de recuperação - se o Linux estiver disponível para você - é usar o Gnu DDRescue para fazer uma pequena cópia da unidade - isso levará um longo tempo, mas dados da unidade quanto possível. (Você pode querer pará-lo no meio do caminho quando ele começar a gerar erros de E / S e executá-lo a partir do final do disco para obter o máximo possível na primeira análise). Então deixe-o correr para os dias / semanas até que você esteja cansado de tentar copiá-lo até o fim ou terminar. (O bom disso é que você pode iniciar e parar a cópia e retomar a partir de mais ou menos de onde parou).
Você pode, então, pegar a imagem e espelhá-la de volta em uma nova unidade (mas observe se você usa uma unidade que não seja de "Advanced Format" ou isso causará problemas). Você pode então tentar reparar / recuperar a unidade. [Existem outras alternativas como copiar e montar como uma imagem de loopback etc, mas eu aconselho sempre trabalhando em uma cópia do arquivo de imagem DDRescue cria, para que você possa tentar novamente se sua tentativa falhar e corromper o fs ainda]
Ah, e é grátis (apenas tenha certeza de pegar o GNU DDRescue - eu encontrei outra variante que não funcionou tão bem).