I use a free program called GParted that you can download and burn onto a bootable disk. The steps are (assuming you have one drive with free space that you want to partition into two smaller ones).
-Free up enough space on the drive for the new partition
-Using Gparted, resize the drive (in this case, make it smaller) which leaves an unallocated portion.
-Create a new partition from the unallocated portion.
This approach should work in most cases.