While a virtual machine created in this manner might run under any OS X, Linux, or Windows host, the Windows XP Mode EULA states in part:
You may install, use, access, display and run one copy of the Software in a single virtual machine on a single computer, such as a workstation, terminal or other device ("Workstation Computer"), that contains a licensed copy of Windows 7 Professional, Enterprise or Ultimate edition. Virtualization software is required to use the Software on the Workstation Computer ... If you are using the Software with a properly licensed copy of Windows 7 Professional, Enterprise or Ultimate, activation of the Software is not required.
Download Windows XP Mode (WindowsXPMode_en-us.exe | MD5: bf3726d684d3acb98185665123c9efcf)
Extract xpm from WindowsXPMode_en-us.exe with a file archiver like PeaZip Portable.
Add .rar extension to xpm
Extract VirtualXPVHD from xpm.rar
Add .vdi extension to VirtualXPVHD
Create a new machine in VirtualBox, naming it XPMODE and specifying VirtualXPVHD.vdi as the hard disk
Start the new VM. If the mouse / cursor doesn't respond during initial setup, either disable mouse integration (Input > uncheck "Mouse Integration") or navigate via the keyboard.
Once setup is complete, uninstall Virtual PC Integration Components from Add/Remove Control Panel
Install Guest Additions (Devices > Install Guest Additions...)
Shut down the virtual machine
Download pcbios.bin (MD5: 12ccdc652b30c6d1e307c6f7deff5d24) from VMLite* Create pcbios.bin using the updated instructions below, then copy it to a directory on the host computer (e.g., C:\vm\)
"C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" setextradata XPMODE "VBoxInternal/Devices/pcbios/0/Config/BiosRom" "c:\vm\pcbios.bin"
(This command will add the following line to XPMODE.vbox: <ExtraDataItem name="VBoxInternal/Devices/pcbios/0/Config/BiosRom" value="c:\vm\pcbios.bin"/>)
* Due to changes in VirtualBox 5.1's handling of APIC, VMLite's pcbios.bin causes a black screen on boot. However, Chris McCarron has kindly provided instructions for making your own 5.1-compatible pcbios.bin by extracting VirtualBox's BIOS and inserting the XP Mode product key into the SLIC table:
Launch any Windows VM running inside VirtualBox 5.1†
Download SLIC ToolKit V3.2 and run it to dump the BIOS: Memory Access > Dump > Export > set filename same as original (e.g., pcbios.bin) and save
Open pcbios.bin using a hex editor (Chris recommends HxD Version 1.7.7.0)
Go to offset 913A‡ (Search > Goto... or Ctrl+G in HxD) and paste (Edit > "Paste write" or Ctrl+B) the XP Mode product key ("Windows_Virtual_XP_F9161D8E7FCC11DDBFAA369856D89593") in hexadecimal over 913A to 916C:
57696E646F77735F5669727475616C5F58505F4639313631443845374643433131444442464141333639383536443839353933
Save changes
† As noted in guides below, VirtualBox BIOS extraction can also be effected by booting the virtual machine from a live Linux disc and running: $ sudo head -c 1048576 /dev/mem | tail -c 65536 > pcbios.bin
Other BIOS dumping methods include using DEBUG.COM and copying from VBoxDD2.dll. VBoxDD2.dll can also be edited directly for use in portable mode.
‡ Others suggest starting from 908A, which also seems to work.
Thanks to cclloyd9785 for the VirtualXPVHD extraction steps.
Meticulously detailed guide with copious screenshots: XP ModeをVirtualBoxで動かす
Making XP Mode more performant with VirtualBox: Windows Hell for the Linux Admin. XP Mode and Virtualbox.
Creating and activating a Windows XP virtual machine on OEM hardware: Spuštění existující instalace Windows XP OEM - GMC-Dell ve VirtualBoxu 4.2.4 na Xubuntu 12.04 bez nutnosti Aktivace
Switching XP from IDE to SATA mode for better performance:
Virtualbox and Windows OEM Guest explains how to activate via the host hardware's SLIC ACPI table or by simulating its BIOS
/windows | Oct 21, 2012