fink, I just use a live linux CD, boot to that, open the supplied partition editor and have at it. Usually, the supplied editor is GPartEd which will easily expand a partition to include unallocated space with no data loss on the original partition.

Keep in mind that if you're expanding a partition to the left, it'll take quite a while because it'll move all the data over to the new partition beginning, if you're expanding the partition to the right it doesn't take near as long because it doesn't need to move data.

http://www.linuxmint.com/download.php