The question is simple, the answer(s) complex.
First of all, you need to determine if there is anything wrong physically with the drive. If you can mount it and it seems to be working, that is a good start.
Next you need to employ a data recovery software to read the files that are on the disk but cannot be read for whatever reason. I would suggest downloading a Linux Live CD and loading it onto a thumb drive, and then booting from that drive. There are a number of distros that are oriented to data recovery, a little Googling should steer you to an appropriate one. I'd suggest one but Linux changes often (updates to the kernel, or OS) so a search of recent offerings probably would be better for you.
You want to use a tool that mounts the drive in Read-Only mode, so that no new data is written to the disk, as this will often overwrite existing data and make it un-recoverable. This is one of the reasons why I don't recommend a Windows recovery tool, as WindowsOS will often overwrite drives with data as soon as they are mounted.
Generally speaking if no new data has been written to the drive, and the drive itself is not failing or failed, files are recoverable. Good luck.