Sometimes it might be necessary to adjust the size of one or more partitions. This operation cannot be performed while those partitions are mounted and being used by Ubuntu.
The easiest way to perform this operation is by using any Ubuntu installation disc or USB flash drive. Boot up with the Ubuntu installer and choose to try out the OS. Then open the Dash and search for GParted.
In GParted, you can not only resize, but add or delete partitions too. Remember that if you shift the starting sector of the first Windows partition or the Linux partition that holds /boot then your computer will not boot. (You will need to edit your Grub bootloader to make this work.) Anything else is game and easy to perform.
Tried with: Ubuntu 12.04.2 LTS