Isn't cloning a bit too hardcore? I mean, you want everything copied bit by bit (even free space and partition tables) but everything you need is to copy the existing data only, no?
Here is a tool from Western Digital.
I don't know if you have western digital hdd or if it works for western digitals only, but (works) give it a try.
Start the program and go through the Iinitiate Drive wizard.
Say you want to create a new boot partition.
[Optional ; can be already done before]
Create a primary partition of same size or more as/than the old one.
Create another (logic/extended) partition with the rest of the space. You can create more if you want to, don't see the point but w/e.
If you want the exactly same partition layout I suggest you manually measure and create them.
But can't you just make one big second partition with the rest of the space and be done with it?
[/optional]
When you finish the program starts copying the existing C:\ from the old drive (and that includes MBR) to the new partition.
The rest of the partitions I don't know if they are copied as well but that doesn't matter, you can copy them manually later.
The important thing to achieve is to copy everything that is C:\ including the bootsectors, thing that this program does.
After you're done with copying the rest of the data to the new hdd you just need to modify booting priorities in BIOS, or just disconnect the old hdd.
Good Luck!
If you want guiding images of the process, I can provide them.