Is this a dual boot (Linux and Windows)? If so, which partition is what.
If not, there is no reason not to repartition during a re-install of Linux. If the 2GB is the root partition, it will always give you problems because of the small size. Use the manual repartition,
- create a 20-50GB root partition (/) which will give you sufficient space to install additional programs (I have 25GB and still have 20GB available)
- create a swap partition; the size depends on the amount of memory and how you use the laptop; if you want to be able to hybernate, it should be at least the size of the memory, if you're editing massive big files (e.g. videos) it should be the size of the memory and else the rule that you can apply can be 2x size of memory with a max of 1GB
- use the remainder for the home partition (/home)
As an alternative to a separate root and home partition, you can only create the root partition (although I advise against it); the home partition will become a home directory in the root partition.
With regards to your remark on Windows: that is not completely true. I have had an 10 GB Windows partition that was full. I could not install any software, even if I tried to install on another partition/drive because to install programs space in the temp directory is required.
PS I have heard a number of complaints about the 'default' partition sizes of the Ubuntu install. Although I use Ubuntu myself, I think that it's quite brain-dead from that perspective.
Hope this helps.