Una forma muy sencilla, común, sería crear un USB de arranque con algun SO de linux, como ubuntu, sin instalar nada, arrancas el sistema operativo desde el pendrive y una vez dentro, puedes elegir la opcion de recuperar disco
Hace años usaba el SpinRite cuando tenía un disco que empezaba a morir de sectores defectuosos y para recuperar ficheros cuando se corrompe la información del sistema de ficheros he usado Testdisk con bastante éxito: http://www.cgsecurity.org/wiki/TestDisk