
If you're copying from a drive smaller than 137GB to one that larger than 137GB you may find the new drive won't boot afterwards if cloned using dd or Clonezilla. From my experience even reinstalling the boot loader doesn't help in this situation. I don't know the exact reason behind this is, but I expect it's due to drives that exceed the 48-bit LBA boundary requiring a slightly different partition layout.
A fresh OS install though will boot fine so for Linux partitions at least a cp -a afterwards will do the trick. I'm not aware of a nice way to work around this for Windows partitions.
For very large drives, it might help to put /boot on a smaller partition by itself (as used to be necessary with LILO on much smaller 'large drives'). Using my method, you would first create the partitions on the new drive, mount /target then create and mount /target/boot inside that, and then do the copying from the original filesystem.. and of course add a new entry for /boot in /target/etc/fstab.