What operating system do you have?
Does it run on the same type of real server?
If not.
If VM it is Windows, you must reset (sysprep) or insert the hdd drivers. Acronis is a solution for that, or Dism++ and ImDisk to insert dirvers on vhd.
If VM it's Linux, you don't have the correct disk name or partition ID, the boot partition must be redone. Reinstall kernel, in chroot with live CD, to solve the problem.

For an easier process, I recommend Hyper-V -> VirtualBox -> XCP-ng. With VirtualBox you will have fewer problems when restoring the boot. And VirtualBox is much more compatible with XCP-ng.