Now, the major problem with using Windows Vista's (or Windows 7's) built-in tool for extending partitions is that in order to extend a partition, the free space must be immediately to the right of the partition you want to extend, like this:
PPPPPPPPPPPPPPPFFFFFFFFFFF
where the P's are the partition to extend, the F's are the free space you get by shrinking a partition. When you shrink a partition, the free space is created immediately to the right of the partition you performed the shrink on, like this:
SSSSSSSSSSSSSSFFFFFFFFFFFFF
So how can you move the free space from after one partition to after another partition? How can you change this:
PPPPPPPPPPPPPPPSSSSSSSSSSSSSSFFFFFFFFFFFFF
to this:
PPPPPPPPPPPPPPPFFFFFFFFFFFFFSSSSSSSSSSSSSS
You can't with the Vista/Windows 7 tool. But you can with a shareware tool called Boot-It NG:
Boot-It NG is a shareware partition management utility that can be used to manage the shrinking and extending of partitions better than Vista's built-in tool. It has an old DOS style interface, but it works well. You can download a fully functional trial version here:
Boot Manager, Partition Manager, and Drive Image Utility - BootIt Next Generation
I downloaded the free trial version and burned it to a CD with the included program MakeDisk.exe in order to be able to move some unallocated space immediately behind one of my four partitions that I wanted to extend. I just booted from the CD, clicked Cancel when it asked whether I wanted to install the program on the hard drive, then clicked on the menu choice for "Partition Work", and then used the "partition slide" concept to move the unallocated space. The TerabyteUnlimited site has a good deal of documentation, tutorials, answers to FAQs, videos, etc. for how to use the program:
TeraByte Unlimited :: Support :: BootIt Next Generation
A good overall article about the various things you can do with Boot-It NG, together with some screenshots, can be found here:
BootIt NG Next Generation