Microsoft has a free utility called Disk2VHD that will let you create a .vhd or .vhdx file from a running Windows XP machine. It also works on Vista and later.
I made a mistake by making a .vhdx image in the first place,
here’s tips how to convert it inside VirtualBox:
http://askubuntu.com/questions/448223/how-to-create-a-virtualbox-image-from-a-windowsxp-host-physical-partition