for me, I would just use gparted ( run from Live ) to copy the internal drive and paste to unallocated space of a USB drive, thus created a clone.
To install on new drive, after physically installed and cabled , run Live DVD/usb, plug in USB drive with clone,
use gparted again, copy the clone partition from USB drive and paste to the new hard disk's unallocated space.
Whatever spare spare can be extended with gparted, or usually I would just format it to ntfs and let it share files with windows OS and any other Linux OS.
After that install boot loader onto MBR.