Partition Hard Disk Without Losing Data

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.