The ultimate tool is SpinRite by Steve Gibson This will fix in-place, so you don't need a second drive for salvaging it to. This tool can also be used regularly to keep drives working for longer. However I have compiled a list of free programs that cover various types of drive disaster. From simple file deletions, to full drive restoration.
I recommend Zero Assumption recovery. try : http://www.z-a-recovery.com/