You should be able to do this with a combo of gparted (or another partitioner) and clonezilla. Gparted is available on most Linux live-cds, and clonezilla is available as an iso to create a live-cd.
Use gparted to create the target NTFS & ext4 partitions on the 2TB drive, and clonezilla in expert mode to clone the partitions to the new drive.
For expanding the partitions... you can create them at the desired size with gparted. When doing this, align the boundaries to "MB", and I suggest creating them in multiples of 1024MB. So if you want a 340GB partition, it will be 340 x 1024MB.
Since you'll be working with disk partitions, you might want to keep TestDisk handy in case anything goes wrong. It's available pre-installed on several rescue cds, or in the repos for most Linux distros, so you can install it to a live session if needed.