Si le nouveau disque physique est connecté à la machine sur laquelle se trouve le disque virtuel VM, vous pouvez convertir VDI en physique sans conversion intermédiaire, ce qui économisera probablement beaucoup de temps et d’amplification. espace disque. Cela suppose que votre disque physique est identique ou supérieur à la taille maximale du disque virtuel. Dans mon cas, le but était de convertir une VDI en zvol ZFS, mais l’approche devrait être la même avec tout périphérique de type bloc.
Commencez par créer un fichier VMDK pointant vers 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 ... Quand c'est fait, vous pouvez supprimer le fichier VMDK car il a été utilisé uniquement comme pointeur pour que VirtualBox trouve 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 devrez utiliser un mécanisme de redimensionnement des partitions pour remplir le disque complet. Gparted ou quelque chose peut-être. Vous devriez être en mesure de pointer cela sur le périphérique physique / dev / sdX alors qu'il est toujours connecté à la machine virtuelle, de sorte que vous ne devez pas recourir au démarrage 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-le.
Si vous souhaitez continuer à utiliser le lecteur physique avec VirtualBox, conservez le VMDK et utilisez VBoxManage storageattach
pour le connecter à la machine virtuelle.