TestDisk is a powerful, portable recovery tool that can help recover partition tables and make non-booting disks bootable again.
The program supports just about every file system: FAT12/16/32, exFAT, NTFS, Linux Swap 1/2, Linux RAID md 0.9/1.0/1.1/1.2, HFS, HFS+ and HFSX, Mac partition map and many others.
It can find and restore deleted partitions, and fix broken partition tables. TestDisk is also able to detect and resolve various file system problems, including lost boot sectors, a corrupted MFT or FAT table. And it can even recover accidentally deleted files from FAT, NTFS and ext2-based drives.
There's also a complication, unfortunately: TestDisk is a simple console-based application, so there's no GUI, no context-sensitive help, and this can leave it looking a little intimidating. You shouldn't let that put you off, the program isn't too difficult to follow, but you'll need to pay great attention to the TestDisk prompts to be sure that you don't make any costly errors.