I just figured out (DUH) that the Gparted Live CD that I recently wrote about can not only resize partitions, but it can also copy partitions. So this disk turns out to be an even better too to upgrade a hard disk in a PC.
You could, for example, put a new hard disk in a usb caddy, hook it up to your computer, boot the live cd, copy AND resize the partition in one operation, set the 'boot' flag on your new disk's partition, and then physically swap the disks. A windows partition will then run a scan disk on boot, but you should be good to go with a new bigger hard disk after that.
Even more good stuff!