Use Gparted which boots to its own os and does the changes from there.
I second Gparted. I've used it twice to create Windows 7 partitions on two different computers.
However, be prepared to wait a long time, especially on large drives. Like, go to sleep, go to work, and come back and it's done long if the drive is 500gb or larger.
Also, backup any data you don't want to lose pre-partition. If anything goes wrong, you'll be kind of screwed otherwise. Sometimes stuff can get shifted around, and maybe your installation of Windows or whatever on the other partition will start acting funky. Or maybe I had that problem for a completely unrelated reason right after the partition, but it sure can't hurt to back up your data.