First off, I feel sorry if you need to touch Windows XP, especially in 2016, but hopefully this will save you a few hours nonetheless.

In my case I had a beater Windows XP PC with XP-only software to connect to my car. It's proven itself very useful for car troubleshooting, primarily reading and resetting OBD (error) codes. I didn't want to keep a dedicated piece of hardware for this single purpose and don't want to re-install the specialized dealer software - so migration to a VM was commenced.

Moving that Windows XP installation to VirtualBox 5.0.14 has proven to be more difficult that I estimated, probably because nobody uses XP anymore.

Easy part - disk migration

My attempt to use Clonezilla was semi-successful, as I needed to move a large HDD to a smaller virtual drive and after a few attempts I bailed in favor of Acronis True Image, since I had previous experience using it.

I used Acronis bootable rescue media on a USB stick to backup Windows XP HDD to an external drive. I created a new Windows XP VM following instructions from VirtualBox and used Acronis rescue media ISO to boot the new VM and restore the backup.

Note: You can try to plug the external drive directly to VM (Acronis support of that drive pending), or you can use windows network share on VirtualBox host as I did. Search VirtualBox settings for it's DHCP range and use .1, ie \\c$ in Acronis to search for backup that you copied to the VirtualBox host machine.

The wall - booting Windows XP in VM

Windows XP would not boot, throwing a BSOD and immediately rebooting. I've tried a lot of things, of which I will spare you, the fix was to change the type of IDE storage controller: ICH6 VM Settings Example

Summary on how to fix the Windows XP crash (BSOD) on boot after hardware has changed:

  1. Choose the same amount of CPUs for VM as you had on physical PC
  2. Try changing the type of IDE controller as shown, it's possible that your particular Windows would have better luck with PIIX3 or PIIX4
  3. Boot into Windows XP install CD, press R for recovery console and restore/fix your boot record. Read how to use: fixboot, fixmbr
  4. Pressing F8 during VM boot would show you the Windows XP boot menu, there you can choose safe mode and disable automatic reboot after BSOD to capture the exact error message for googling

Once booted, install VirtualBox Tools, remove unnecessary applications, drivers and try to enjoy your vintage Windows.