Se il nuovo disco fisico è collegato alla macchina su cui si trova il disco virtuale della VM, è possibile convertire VDI in fisico senza una conversione intermedia, probabilmente risparmiando un sacco di tempo e spazio su disco. Ciò presuppone che il disco fisico sia uguale o maggiore della dimensione massima del disco virtuale. Nel mio caso, l'obiettivo era convertire un VDI in uno zvol ZFS, ma l'approccio dovrebbe essere lo stesso con qualsiasi dispositivo a blocchi.
Per prima cosa crea un file VMDK che punta al tuo dispositivo a blocchi:
VBoxManage internalcommands createrawvmdk -filename physical.vmdk -rawdisk /dev/sdX
Quindi (con l'arresto della VM!) Puoi clonare il VDI sul VMDK:
VBoxManage clonemedium --existing virtual.vdi physical.vmdk
Ci vorrà un po 'di tempo ... Al termine, è possibile eliminare il file VMDK poiché è stato utilizzato solo come puntatore per VirtualBox per trovare il dispositivo fisico.
Nel mio caso, il nuovo zvol aveva esattamente le stesse dimensioni del disco virtuale. Dato che il tuo disco fisico è probabilmente diverso, dovresti utilizzare un qualche tipo di meccanismo di ridimensionamento della partizione per riempire l'intero disco. Gparted o qualcosa del genere. Dovresti essere in grado di indicarlo sul dispositivo fisico / dev / sdX mentre sei ancora collegato al computer VM in modo da non dover ricorrere all'avvio del CD come host fisico.
Una volta terminato il ridimensionamento, inserire l'unità nella macchina fisica, incrociare le dita e accendere.
Nel caso in cui si desideri continuare a utilizzare l'unità fisica con VirtualBox, tenere in giro VMDK e utilizzare VBoxManage storageattach
per collegarlo alla VM.