Before all, you need to be sure that the drive is 100% healthy at hardware level.
The first thing I would do is checking the S.M.A.R.T values on a computer running Windows, using a tool like HD Sentinel or equivalent. This will give you a good estimation about in which condition the drive is.
You should test the drive connected in an external USB or eSATA dock as the original drive enclosure may also have problems, like weak electrical contact or so.
Then, I would low level clone the drive to another one.
Even if its condition is 100% Ok according to the S.M.A.R.T. values.
This step can reveal a few defective sectors, which were not referenced yet by the S.M.A.R.T. monitoring.
Even if your drive is 100% healthy, every serious data recovery professional will tell you than in a situation like the one you're encountering, we never work on the original drive, but always on a clone, especially when possibly dangerous commands like verify/repair ones are used.
The fact that your drive suggests that you should initialize it (-- don't to it ! --) if often an indicator or hardware issues, like corrupted firmware or damaged heads, requiring data recovery by a company that is specialized in data recovery (and not the first local computer shop you can find).