For people seeing this post (and not checking the date just wanting some help om something similar.)
heres what i would do, on the basic install (or the os on the real drive not the image)
i would run a utility called driverbackup! (thats what its called on sourceforge)
back up all the drivers, AND make sure you tick the restore file generation option.
THEN i would make sure the virtual system is off, a VHD file would be most apropriate,
it u cannot get a vhd, i.e your using vmdk or the image was in a backup file say easeus PBP format, they have converter options, vmware has an option, i think virtualbox has an internal option, but i cannot remember what its called.
easeus todo backup has a backup image converter, to vmdk or vhd, if you use this app, select the vhd format, name and save somewhere.
then look up how to restore drivers to an offline image on microsoft technet site,
look for your desired version, ie vista, 7, 2008,08 r2, 2012, 12 r2, 8, 8.1 etc.
the drivers you backed up HAVE to match the architecture of the os your gonna restore them to. ie X86 to X86, X64 to X64, IA64 to IA64 etc.
(implying the virtual os was the same architecture, not the user is stupid etc)
follow the microsoft instructions to restore the drivers.
now once you have that completed, mount the VHD using diskmgmt.msc (click attach vhd)
go find your file, once you do that click open/accept/etc
use your favorite tool to backup the drive image (as if it was a physical one)
store the image on a seperate medium or place it somewhere on a network/external drive.
(e.g windows backup generates a folder and some files in it to go with that image backup)
if the program has a bootable utility, boot into that.
this assumes you want RID of your current windows OS.
goto the option to restore the image.
find a way to reach the image, i.e if networking is needed, you might of needed drivers in the bootable utility, wireless cannot work this way as there isnt a utility to scan networks and enter passwords, gui or command line to my knowledge.
if you still require multiboot options you could resize the host os to make room and create a space for your image restore.
after you find the image, put it over the destination (partition if multiboot)
or (drive if wiping the drive fresh).
you should after its complete have an option now to boot into your os you restored,
if multiboot, you will manually need to either edit the name of the item & partition UID for the boot configuration to find your newly restored os
i.e. if its a different windows version ie say you restores 2012 r2 and you had 2008 r2, and it will boot but has a wrong name, or its the same os, but it is trying to boot to a wrong partition as that information is not updated to reflect the changes
a tool called EASY BCD will help if u need to do it via gui,
BUT you need a commercial licence if its a business you are doing this for.
now, you should be up an running with a virtual os put onto a physical drive, and it will now be as you wanted, no messing about migrating, or cutting and pasting stuff from folders or registries etc.
should JUST boot.
hope this helps anyone in need for some help and couldnt find a no nonsense get to the point way of sorting this kind of scenario out.
for me it came down to personally doing this kinda stuff with home os versions of stuff, as i am a home user, but it applies to commercial also as in the end, it is a windows os, it has folders, it has registries, it has a boot config, and they have uuid-like entries in this config, so they mainly operate the same when coming down to the real basics.