Six months ago, when I installed Linux, I let it be on a 20 GB partition. Now I discovered that it is not enough. Of course I could have used another partition (FAT) to store the data, but this wasn't what I wanted. I wanted a big partition to store data, programs and settings.
I thought about moving the /home directory to another partition, so I ran mkfs.ext3 on an empty 50 GB partition to convert it from FAT to ext3. Then I mounted it to /media/newp. After that I ran cp -a /home/* /media/newp. Then I ran mv /home /home-old. Then I ran umount /media/newp to unmount the 50 GB partition so I can remount it to /home. Done!
In short I just moved the data to the new ext3 partition then told Linux to find the /home folder there. No restarts involved! :D