For this we required Linux live disc (something like Knoppix Linux)
1) Hook up new drive. I used secondary master, hdc.
2) Reboot your system with live CD, this saves complications of dynamic directories and such.
3) Partition the drive with cfdisk or equivalent. Make sure you mirrored the existing setup, you can also have the new partitions with much larger size.
4) Time to format the new drives partitions (ext3, for example):
5) Mount the partitions of old and new HD:
6) Copy the old partition onto the new one:
7) Get a drink, take a walk, etc. This is going to take a while.
8) Repeat steps 5-7 as needed for other partitions.
9) Once it’s finished, check out the new fstab:
10) Verify that all the partitions are still arranged how you want them set up.
11) Run Grub on the new drive to make it bootable
12) If all went well, you should be able to shut down, swap the new hard drive into the position of the old one, and boot into your much roomier new hard drive