I'm pretty sure I have mentioned it in one of the VirtualBox announcement posts: if you have an existing VMware VM disk image with your OS installed in it, you don't even have to convert it when you switch to Sun xVM VirtualBox.
Booting VMware VMs with Windows hangs in VirtualBox
VirtualBox natively supports VMware VMDKs, but so far I was unable to boot any of the Windows XP VMware VMs in VirtualBox – only a few seconds after being turned on, the VM will seemingly hang even though I/O icon in the statusbar of it will indicate some traffic.
Turns out, it's a well known problem, and there's a very simple solution to it explained on the Migrate existing Windows installations to VirtualBox page of the Virtualbox wiki.
Advanced VirtualBox settings: IO APIC
Basically, pre-installed Windows images fail to boot up in VirtualBox because of the HAL (Hardware Abstraction Layer) problems.
There are a few versions of HAL supplied with each Windows:
- Standard HAL
- ACPI HAL
- ACPI HAL with IO APIC support
They are supplied in a form of 3 different DLLs, and only one is picked based on your hardware configuration at the time of a Windows install. Because VMware supports IO APIC in VMs by default, that defines the HAL version used in your Windows VM.
VirtualBox is a bit smarter: IO APIC is disabled by default due to expensive (CPU-wise) virtualization. That's why, by default, your newly created VirtualBox VM will not boot a VMware image with Windows pre-installed.
Still, the IO APIC option is here, so you can just enable it for your VirtualBox VM to make the Windows image work.
This screenshot (click the thumbnail to see it in full resolution) shows what you need to do.
That's it – this trick has really helped me, and I sure hope it helps you. Stay tuned for more VirtualBox tips!