I've struggled with a WinXP machine not being able to be imported from OVF + VMDK.
At first, I tried to create a new machine, and attach it the .vmdk file directly. When booting Windows XP, it stalled with some UNMOUNTABLE_BOOT_VOLUME and some STOP 0x000000ED errors. I checked the knowledgebases, and surfed the web, only to find nothing.
I tried converting the .vmdk file to a .vdi file with
VBoxManage convertfromraw old.bin new.vdi --format VDI (after running
qemu-img convert file.vmdk old.bin, as suggested on some sites) without success - in fact, the .VDI file wasn't usable at all, and appeared as data, while other VDI files I had appeared as innotek VirtualBox Disk Image.
When trying to run
VBoxManage import myfile.ovf, I kept getting errors like:
VirtualBox Command Line Management Interface Version 3.1.2 (C) 2005-2009 Sun Microsystems, Inc. All rights reserved. 0%... ERROR: <NULL> Details: code NS_OK (0x0), component <NULL>, interface <NULL>, callee <NULL> Context: "ImportAppliance" at line 261 of file VBoxManageImport.cpp
and sometimes the line with
0%... went up to
90%..., only to stall on the same error.
Just to find out that OVF files must be writable! I had my .ovf file copied from a DVD, so it was only -r--r--r--. Running
chmod +rw * made the import feature work.
Still, VirtualBox, if it wants to be able to "write" in the .ovf it's going to import, should just state so, or check it before it runs the importation, or even better: remove the need or the bug that stops you from importing a machine that is read-only!
Btw, I'm using VirtualBox 3.1.2 on Ubuntu Karmic.
Hope this helps.