My recollection is that 'parted' or 'gparted' can be used to change partition sizes. You can also use fdisk. You'd want to unmount the partition being expanded, then move its endpoint out to the new end of the virtual disk.
Once the partition is resized you'll need to expand the filesystem with a utility like resize2fs.
If the virtual machine is using LVM (logical volume management) it gets more interesting. I've had to do this with a virtual server instance before and it's not fun. The instructions I referenced are at http://allaboutfedora.blogspot.com/2007 ... itions.htm
My general preference, however, is to use shares via /mnt/hgfs where possible, though that has gotchas with things like hard links and user/group permissions not performing as expected, so they're not the greatest if you want to fully replace /home or another filesystem.