HDD Regenerator
It can recover bad sectors without corrupting partition table, existing files. Search for my previous post.
Also, check your HDD S.M.A.R.T. records. If too many read errors have been recorded, the HDD is reaching its EOL. You can retried SMART using SpeedFan or HDD TunePro.