I have had decent success with using
GetDataBack. I know that with a bit of time it has gotten data back from a drive that would not show any partitions at all. There are 2 versions, one for NTFS and one for FAT.
One thing is do not boot to that drive, use it as a secondary drive in another system. The less it is getting accessed by anything other than that program the better. I do know that one of the opinions in the initial wizard is where it asks what happened to the data. One choice is that it got formatted and another OS written to it. Just be prepared to let it run for awhile if the drive is of any significant size.