I swear by SystemRescueCd. It offers all the tools you could possibly need to save a system. This includes dd/ddrescue (for drive copying/recovery), parted/GParted (disk partitioning), ntfs-3g (to read/write those pesky ntfs partitions), etc. It has an X server, should you need one, supports network booting, and uses ZSH instead of Bash, so it's a tad faster and will offer to correct mistyped commands.
The x86 build is <= 200 MB.
One other note: it has testdisk, which I have used before to find lost partitions after accidentally nuking the Master Boot Record (MBR).
I also recommend SpinRite, but it's not free. SpinRite can save almost any malfunctioning hard drive. It's a 200KB floppy disk image that can be run from a CD as well. SpinRite could probably make your malfunctioning hard drive work again.