If you have the new physical disk attached to the machine the VM virtual disk is on, you can convert VDI to physical without an intermediate conversion, probably saving a bunch of time & disk space. This is assuming your physical disk is the same or larger than the virtual disk's maximum size. In my case, the goal was to convert a VDI to a ZFS zvol, but the approach should be the same with any block device.
First create a VMDK file pointing to your block device:
VBoxManage internalcommands createrawvmdk -filename physical.vmdk -rawdisk /dev/sdX
Then (with the VM shutdown!) you can clone the VDI to the VMDK:
VBoxManage clonemedium --existing virtual.vdi physical.vmdk
That'll take a while... When it's done, you can delete the VMDK file since it was only used as a pointer for VirtualBox to find the physical device.
In my case, the new zvol was exactly the same size as the virtual disk. Given that your physical disk is probably different, you'd need to employ some kind of partition resizing mechanism to fill the full disk. Gparted or something perhaps. You should be able to point that at the physical /dev/sdX device while still attached to the VM machine so you don't have to resort to boot CD's the physical host.
Once the resize is done, pop the drive in your physical machine, cross you fingers, and power up.
In the event you wanted to keep using the physical drive with VirtualBox, keep the VMDK around, and use VBoxManage storageattach
to connect it to the VM.