1. Use ddrescue (http://www.gnu.org/software/ddrescue/ddrescue.html) to copy a complete image of your hard drive onto another drive with lots of space. Let it work for a long time and it will probably get all the data off. If it doesn't you can try the freezer trick, but don't be too hopeful.
2. Unplug the busted hard drive and set it aside. You can perform all the subsequent recovery steps on the image you just copied, which is better than stressing an already-dying drive.
4.5 Alternatively, you can use parted with the rescue command, but that works better if you know exactly what your partition table was.
5. If that fails, use photorec (http://www.cgsecurity.org/wiki/PhotoRec) to pull off all the files it can find. It should be able to get most of your documents, photos, etc, but it might not find everything, and they will be missing file names and folder structure. Remind yourself that this is better than nothing.
1.5 If the hard drive is so badly failed that you cannot even get ddrescue running, try again tomorrow. And the next day. And the next. I cannot explain why a hard drive would come back to life, but I have seen it happen a number of times. I have seen a hard drive that was clicking and irrecoverable for two solid weeks suddenly show up just fine one day in the device list. It mounted and everything, and we promptly pulled all the data off. I'm not much of an optimist, but when it comes to failed hard drives, I've seen miracles occur.
ddrescue is a godsend. I actually had my backup drive bite the dust on me. All my live data was fine, but my backup drive ate it. ddrescue saved the day.
I agree with pretty much everyone here, though, in saying that "restore it from backup" is the right answer, and the fact that the parent-linked article doesn't mention it anywhere makes it worthy of ridicule. Fortunately, the second commenter on the article injects a bit of sanity into the situation.
1. Use ddrescue (http://www.gnu.org/software/ddrescue/ddrescue.html) to copy a complete image of your hard drive onto another drive with lots of space. Let it work for a long time and it will probably get all the data off. If it doesn't you can try the freezer trick, but don't be too hopeful.
2. Unplug the busted hard drive and set it aside. You can perform all the subsequent recovery steps on the image you just copied, which is better than stressing an already-dying drive.
3. Mount the hard drive image (http://tcdb.grinnell.edu/wiki/pmwiki.php?n=Help.Ddrescue).
4. Use testdisk (http://www.cgsecurity.org/wiki/TestDisk) to try to recreate the partition table.
4.5 Alternatively, you can use parted with the rescue command, but that works better if you know exactly what your partition table was.
5. If that fails, use photorec (http://www.cgsecurity.org/wiki/PhotoRec) to pull off all the files it can find. It should be able to get most of your documents, photos, etc, but it might not find everything, and they will be missing file names and folder structure. Remind yourself that this is better than nothing.