The hard drive in my old laptop started returning errors, so I stopped using it (probably a bit too late). It's in an external cradle now, that I've mounted read-only a couple of times. Unfortunately I don't think I have the disk capacity lying around to image the whole drive, so for now I just have an image of the first 2 GiB.
The first 160 or so MiB of the hard drive are unreadable (bad sectors), so the MBR and partition table are gone. Readable data is present after that point though. I may have some notes regarding my partition table somewhere, but they probably don't contain sector counts.
I have backups of the most important things, but there are still a lot of things on that drive that would be inconvenient to lose permanently. I have since gotten myself a better backup system involving tarsnap.
The disk should contain several ext3 filesystems, along with possibly an ext2 (/boot) and NTFS (vestigial windows).
What would be a good approach here? Piecewise dd-rescue and searching for magic numbers to find the start of partitions?