Si le disque virtuel de la machine virtuelle est connecté au nouveau disque physique connecté à la machine, vous pouvez convertir VDI en disque physique sans conversion intermédiaire, ce qui vous permettra probablement de gagner beaucoup de temps et d'espace disque. Cela suppose que votre disque physique est égal ou supérieur à la taille maximale du disque virtuel. Dans mon cas, l'objectif était de convertir un VDI en ZFS zvol, mais l'approche devrait être la même avec n'importe quel périphérique en mode bloc.
Commencez par créer un fichier VMDK pointant sur votre périphérique bloc:
VBoxManage internalcommands createrawvmdk -filename physical.vmdk -rawdisk /dev/sdX
Ensuite (avec l’arrêt de la VM!), Vous pouvez cloner le VDI sur le VMDK:
VBoxManage clonemedium --existing virtual.vdi physical.vmdk
Cela prendra un certain temps ... Une fois que vous avez terminé, vous pouvez supprimer le fichier VMDK, car il n’était utilisé que comme pointeur pour que VirtualBox recherche le périphérique physique.
Dans mon cas, le nouveau zvol avait exactement la même taille que le disque virtuel. Étant donné que votre disque physique est probablement différent, vous devez utiliser un mécanisme de redimensionnement de partition pour remplir le disque en entier. Gparted ou quelque chose peut-être. Vous devriez pouvoir pointer cela sur le périphérique physique / dev / sdX tout en restant connecté à la machine virtuelle afin que vous n'ayez pas à recourir à l'initialisation du CD sur l'hôte physique.
Une fois le redimensionnement terminé, insérez le lecteur dans votre machine physique, croisez les doigts et allumez votre ordinateur.
Si vous souhaitez continuer à utiliser le lecteur physique avec VirtualBox, conservez le VMDK et utilisez-le VBoxManage storageattach
pour le connecter à la machine virtuelle.