Best/Cheapest Way to Copy Data to New HD?

I have a laptop with 160 GB HD and was looking to install a new 500GB HD. What would be the best way to transfer data and all the installed programs to the new HD? Thanks in advance.

A GParted LiveCD is free and it should allow you to copy the partitions over to the larger drive. Once the data is copied, you can use GParted to resize the partitions so they fill the entire 500GB.