As others have said, a professional data recovery service is your best bet for recovery; however, if you can't afford such services (they are pricey), you can try it yourself with a couple of tools:
- TestDisk -- This program can recover whole filesystems. If you're VERY lucky, it might be able to recover your D: partition more-or-less intact. (You'll need to delete your Linux partitions first, though.)
- PhotoRec -- This program recovers individual files rather than whole partitions. It's more likely to work in your case than TestDisk, but the last I checked, it couldn't recover file names, just their contents. This means you're likely to spend hours sifting through the files it recovers.
There are Windows tools that do the same thing as these Linux programs, and I believe that there are Windows file-recovery tools that can recover filenames, so you might want to search for such a tool before using PhotoRec. I don't have recommendations for specific Windows programs, though.
In either case, you should do a low-level backup of the disk to another disk before attempting any recovery. That way, if your recovery attempt makes matters worse, you can go back to your current state. In Linux, the
dd tool can do a low-level backup, as in
sudo dd if=/dev/sda of=~/sda-backup.img. This example backs up
/dev/sda to a file called
sda-backup.img in your home directory. You must have a big enough hard disk partition mounted at
/home to hold the backup in this example (you can mount the backup disk elsewhere or even back up to the whole disk rather than to a file -- but you must be very careful to get the disks straight when backing up to a whole disk).