I recommend Ranish Partition Manager(
www.ranish.com) as a good hands-on (free) tool for partition work . Ideally it is to be used before problems occur to save the partition table.
The problem with 'automatic' tools is they sometimes do things we didn't ask for : Trust me ! Push the button ! - and they trashes the drive and they can't even undo the changes..
For that matter MS fdisk is to be avoided at all cost : it has no qualms of squashing other OSes partitions !
Often that's just the partition table that's damaged. All the data on the partitions is still there in perfect condition. That's why it is interesting to keep the partition size/boundaries handy. With them, Ranish's tool can put things right again in no time at all. Perhaps the logical partitions are still there that's just the extended that was moved around. Have a go with Ranish Partition Manager.
Before launching rescue disks , that can destroy the system even more, i would try to see what is still there. Try to boot with the linux boot floppy (if you got one) with the boot from floppy option (this is when the kernel image is on the floppy). If this is not possible you can use a single floppy linux distro.
The idea is to boot not from the drive but from somewhere else (you could even jack the drive as 2nd drive into another pc..) and then to have a look at the drive from the outside : using linux fdisk, mounting partitions to see what's on them..
Avoiding to write any data on it before being absolutely sure.
Sometimes a bit of thinking can solve things with no sweat at all , sometimes not..
But you also have to balance the efforts required with the value of the data to recover..