There will always be a risk of data loss when you resize a partition with data on it.
That said, since you're making the partition larger, it should be a non-issue (though the partition software will likely still complain).
The usually-recommended partition software is gparted, which you can get from the repos. Using it, it should be fairly straightforward to do what you need to do. Here's a general run-down:
- Delete the swap partition.
- Find the home partition and find the
resize command
- Resize it to use the newly-available space
You may have to do this from a LiveCD, since /home is mounted when you're logged in (I haven't resized partitions under Ubuntu in a while, so I don't know offhand whether it will let you resize while its mounted), but the steps will be the same in either case.
Edit To provide a little better understanding of how partitions work, it might be good to think of it in terms of image editing.
The Gimp has a feature called "Resize canvas", which allows you to resize the editable area of your image, without resizing the image that's already there.
If you resize your canvas to a size smaller than what your image currently takes up, then it will warn you that resizing the canvas will result in some of the image being cropped.
However, if you resize the canvas to a larger size than what you started with, you don't get this warning, because the canvas fits the image and has room to spare.
The same goes for hard drive partitions, basically. When you resize a partition, you're changing the amount of "canvas" on which data can be placed.