Windows 8 virtualization gives BSOD 0x0000005D

It turns out that Xen, by default, keeps the NX CPU feature disabled for VMs; Windows 8 requires this feature. You can change this in Xen cloud using this command:

xe vm-param-set uuid=<your-uuid> "platform:nx=true"

Then, as if by magic, it boots.

On ESX(i), the same results can be accomplished by ensuring the XD bit isn't masked out in the VM configuration, which is the default. However, it is also necessary to set the virtual hardware to use EFI instead of BIOS, which is not the default.

In ESXi 5.1 this is no longer a problem and the BIOS emulation can boot windows 8 by default.