You'll want to partition the new drive as you like, then, you can use, for example, a liveUSB or LiveCD to boot the system.
Copy the files using cp -p (preserve permissions) as root (use sudo) from the old drive to the new.
Then you'll want to sudo chroot into the environment (this is an advanced topic) and run grub install from within the chroot. (this may be easier if you remove the original drive)
Then, if you have not already done so, remove the existing drive and confirm the secondary system boots. It may take several attempts to get grub configured properly to do this. confirm you have no data loss on the transferred system.
Lastly, you may remove the linux system from the old drive. Once done, you can put both drives into the system. Further grub configuration may be required at that time.
Bonus, resizing the NTFS/Window partitions will best be done with windows disk management