You need to:
1) Disable hibernation through command prompt. Type in elevated prompt: powercfg -h off
2) Disable system restore: Start Menu, rightclick on My Computer, click system protection in left-hand list, uncheck the drive you want to disable it on, and confirm your choice.
3) Disable the pagefile: Open up System in Control Panel, then Advanced System Settings \ Advanced \ Performance \ Advanced \ Change \ No Paging File.
4) Disable the kernel memory dump. Open up System in Control Panel, then Advanced System Settings \ Advanced \ Startup and Recovery \ Settings \ System Failure \ change drop-down menu to (none).
5) Run the disk cleanup wizard and be sure to delete all previous restore points and hibernation files.
6) Reboot
7) Download the 30-day free trial of PerfectDisk 10 Professional.
8) In the PD10 interface, select you drive and run a SMARTPlacement defrag
9) When that is done, do a consolidate free space defrag. This will create the largest chunks of fre space as possible.
10) When that is finished, in the main page of PD10, right next to the size of your hard drive, check the box that says "boot." This will defrag Windows system files that can only be moved when Windows is not yet booted. This will make it defrag system files EVERY time you boot, so you should probably turn it off after the first use.
Using these 10 steps, I went from 3GB available for a partition to over 104GB. I would strongly advise against uing GParted and similar utilities unless you REALLY know what you're doing. After you have done all the partitions you wish, you should probably re-enable system restore, hibernation, page filing, and kernel memory dump. I now have a 200GB Vista x64 Home Premium partition (main), a 25GB partition for testing Windows 7, and a 10GB recovery partition. Cheers!