I think I know the answer to this but thought I would check first

I am about ready to virtualise one of my servers. However the size of the disk the source machine is the same as the size in the target machine. The source machine disk is actually only about 20% full so the data will easily fit on the target machine.

I am going to use systeminternals disk2vhd utility but I guess I need to resize the disk of the source machine before I create the virtual machine as the partitioning information is retained?

Or is there something easier I can do? It looks like disk2vhd creates a file the size of the actual data so I could create the virtual machine file on the target machine with no problems. Is there something I can then do in Hyper-V when importing the virtual machine to resize the partition?