Question Quelle est la méthode recommandée pour déplacer une machine virtuelle VirtualBox vers un autre ordinateur?


J'utilise VirtualBox 4.1.x sur ma machine Ubuntu et j'ai configuré plusieurs machines virtuelles. Comme il existe plusieurs façons de déplacer une machine virtuelle dans VirtualBox vers un autre ordinateur, je me demandais laquelle est la méthode recommandée:

  1. Utilisez l'utilitaire "Import / Export".
  2. Copiez le dossier entier de la machine virtuelle contenant le .vdi et .vbox des dossiers.
  3. Clonez le VDI en utilisant "Virtual Media Manager", puis recréez une VM sur la machine cible mais en utilisant le VDI cloné comme disque dur.

J'ai utilisé avec succès le 1ère méthode plusieurs fois et cela a toujours fonctionné. Le problème est que, après l'exportation et l'importation, l'image disque est transformée en VMDK et non en VDI!

le 2ème méthode est probablement le plus facile mais je ne suis pas sûr que la simple copie des fichiers fonctionnera ou non sur la machine cible. Lors de la recherche sur cette méthode, j'ai constaté que certaines personnes avaient des problèmes pour modifier le fichier VirtualBox.xml afin de le résoudre!

Enfin, il y a le 3ème méthode, mais cela nécessite le travail supplémentaire de création d'une machine virtuelle similaire à la configuration de la machine virtuelle d'origine, ce qui n'est pas souhaitable.

Il ressort clairement de l'explication ci-dessus que ma méthode souhaitée est la deuxième, mais j'ai besoin de conseils d'experts à ce sujet si cela fonctionne ou non. Je ne veux pas que le montage XML me gêne!

Quelle est la meilleure méthode pour transférer en toute sécurité mes ordinateurs virtuels sur un autre ordinateur avec VirtualBox?


197
2017-08-18 19:45


origine


Transférez simplement les fichiers et placez-les au même endroit. - Ramhound
@principé 1. A sans échec solution avec des taux de réussite / reproductibilité élevés peut ne pas toujours être la conseillé et / ou meilleur solution à un problème et vice versa. Cependant, depuis, vous posez des questions sur le conseillé Solution, Option 2) de votre liste (bien que sujet aux erreurs) serait le plus rapide et donc recommandé! Options (1) et (3) tomber sous le sans échec catégorie, comme ils volonté travailler dans la plupart des circonstances. P.S .: post-export, certains paramètres de configuration (le plus?) Peuvent être modifiés (si les options 1/3 sont utilisées)! ... J'espère que cela t'aides. - Amar


Réponses:


Bravo pour vos recherches. J'utilise régulièrement les trois options.

  1. (Utilisez l'utilitaire "Import / Export"). C'est le plus simple car il combine la VM entière en un seul fichier et le transfère sans problème à chaque fois. Cependant, selon mon expérience, lors de la création du fichier OVA ou OVF pour l'exportation, tous les instantanés sont supprimés et, s'ils sont mal effectués, peuvent générer un fichier VMDK. Lorsque vous réimportez la VM, vous devez pouvoir sélectionner le type de fichier HDD que vous souhaitez créer, VDI ou VMDK.

  2. (Copiez le dossier entier de la machine virtuelle contenant le .vdi et .vbox des dossiers). Ceci est mon option préférée et bien que j'ai dû éditer le fichier XML à quelques reprises, cela a été de ma faute si je me suis trompé. Assurez-vous que lorsque vous copiez la VM, vous obtenez TOUS les fichiers associés. Les problèmes que j'ai rencontrés étaient lorsque certains instantanés et fichiers VDI secondaires se trouvaient dans le mauvais répertoire et n'étaient pas copiés correctement. Si vous copiez tous les fichiers (et toutes les autorisations), vous ne devriez rencontrer aucun problème.

  3. (Clonez le VDI en utilisant "Virtual Media Manager", puis recréez une VM sur la machine cible mais en utilisant le VDI cloné comme disque dur).  Cela est moins souhaitable car vous disposez alors de 2 copies d'une machine virtuelle, ce qui peut entraîner des problèmes de licence, des problèmes de réseau, etc., selon la manière dont vous clonez le fichier VDI.

En résumé, je recommanderais sans aucun doute l'option 2, assurez-vous simplement que vous obtenez tous les fichiers nécessaires lorsque vous le déplacez.


139
2017-08-18 20:53



Merci pour la réponse. Je vais attendre encore quelques jours pour voir si quelqu'un d'autre a d'autres arguments. (+1) - Seyed Mohammad
On dirait que personne n’a rien à ajouter… Alors je cite cette réponse comme étant la réponse. - Seyed Mohammad
Juste une référence supplémentaire pour l'option 1, lien, après l'importation, le format est VDMK, il semble être déterminé et ne peut pas être modifié. - simongcc
@tbenz Comment éviter d'avoir un VMDK lors de l'exportation? - Don Rhummy
Juste pour être complet: Si vous faites l'option 2, faites ceci sur la machine cible: Virtualbox> Machine> Ajouter> [naviguez vers le dossier où tous les fichiers de la VM sont]. Probablement une bonne idée de placer les nouveaux fichiers VM dans le même dossier où sont stockées toutes vos autres VM. - Donn Lee


La méthode 2 fonctionne bien maintenant (avec VirtualBox 4.0 et supérieur), sans aucune modification XML requise:

  1. Arrêtez votre machine virtuelle
  2. Quittez VirtualBox
  3. Copiez le dossier de la machine virtuelle vers le nouvel emplacement
  4. Redémarrez VirtualBox et supprimez l'ancienne machine virtuelle.
  5. Aller au menu Machine ≥ Ajoutez et naviguez dans votre ancien dossier.

C'est tout!

ps: j'ai VirtualBox 4.3.20 sur OSX 10.10

Voir ce post du forum VirtualBox pour plus de détails.


34
2017-09-24 19:35



Je ne peux pas croire n'est pas voté beaucoup comme il se doit! C'est le moyen le plus simple (trop facile!) De déplacer les VM dans le même système d'exploitation. Déplacement réussi de deux VM du lecteur C vers le lecteur D. Mine est Win7 64bit avec Virtualbox 5.x - Edwin Yip
Cela ne fonctionne pas pour simplement déplacer le fichier VDI, seulement la machine virtuelle entière. - DustWolf
@DustWolf Right, mais c'est la question de l'op. - David
@DustWolf C'est ce que David a dit. "Copiez le dossier de la VM sur le nouvel emplacement". En ce qui me concerne, ce dossier contient toute la machine virtuelle. Est-ce que je manque quelque chose? - Nik-Lz
@RestlessCobra oui, le nouveau dossier contient la VM entière. - David


Mon option préférée est l’option 2 également:

  1. Copiez le dossier VM complet, contenant les fichiers .vdi et .vbox.

Mais parfois, une incompatibilité d'UUID se produira. Cela se produit souvent si vous copiez simplement l'image disque VDI d'une machine sur une autre machine, mais que cela s'est également produit lors de copies en continu de répertoires complets.

Donc, si c'est le message que vous recevez après avoir déplacé la machine virtuelle et essayé de la démarrer dans la nouvelle configuration:

Impossible d'ouvrir le disque dur.

Impossible d'enregistrer le disque dur en raison d'un disque dur    avec UUID existe déjà.

Allez dans le répertoire de votre machine virtuelle. bien sûr, changez le chemin réel pour correspondre au chemin réel dans lequel vous allez:

cd /full/path/to/virtualbox/virtualmachine/Sandbox

Et lancez cette commande pour attribuer au disque un nouvel UUID:

VBoxManage internalcommands sethduuid Sandbox.vdi

16
2017-09-25 17:14





Au cas où quelqu'un d'autre chercherait une réponse à cette question, j'ai déplacé 5 VMs Virtual Box vers une autre installation Win7 sur un nouveau disque dur sur le même ordinateur (essentiellement un passage d'un OS invité à un autre sur le même PC). Je me rends compte que les pilotes sur une machine complètement nouvelle varieraient probablement et pourraient avoir un effet négatif sur le déménagement, mais j'ai documenté le processus ci-dessous dans l'espoir qu'il pourrait aider quelqu'un.

  • Il n'était pas nécessaire de cloner des machines virtuelles ou de modifier le fichier xml. La version VB était assez actuelle: 4.3.12r93773.
  • De nouvelles copies de machines virtuelles ont été créées dans un nouveau dossier / lecteur partagé pour conserver les anciennes et anciennes machines virtuelles intactes. Je peux toujours démarrer à partir de l'ancien disque dur que j'ai conservé pour la redondance / résolution de problèmes jusqu'à ce que je sois satisfait de ma nouvelle configuration; afin que je puisse accéder aux anciennes machines virtuelles dans leur état antérieur si nécessaire.
  • Les lettres de lecteur varient / peuvent ne pas être nécessaires en fonction de votre configuration.

Sur l'ancien hôte Win7:

  1. Assurez-vous que toutes les machines virtuelles sont éteintes.

Sur le nouvel hôte Win7:

  1. Créer un nouveau dossier appelé X: \ NewVMs \ VirtualBox VM (à partir de la nouvelle machine Win7 pour garantir les autorisations OK)
  2. Copier / coller (ne pas faire glisser) toutes les machines virtuelles et le contenu du dossier associé de l'ancien dossier vers ce dossier (utilise de nouvelles autorisations)
  3. Désinstallez VirtualBox (s'il est installé)
  4. Supprimer le dossier .virtualbox et tout le contenu (s'il existe)
  5. REBOOT pour confirmer l'absence de fichiers de programme ou d'entrées de registre (si désinstaller l'ancien VirtualBox).
  6. Installer / réinstaller VirtualBox (assurez-vous d'utiliser la même version que VirtualBox sur laquelle les VM ont été créées sur l'ancien hôte / machine (dans mon cas, version 4.3.12r93773))
    IMPORTANT: (Ne pas sélectionner la case à cocher pour ouvrir / exécuter VirtualBox à la fin de l'installation)
  7. Copier / coller (ne pas faire glisser) le dossier .virtualbox et le contenu de l'ancien hôte Win7 (généralement C: \ Users [nom d'utilisateur] .VirtualBox
  8. Maintenant, ouvrez VirtualBox
  9. Définissez les préférences pour le nouveau dossier de création de machine virtuelle par défaut sur le même chemin de fichier que le nouveau dossier de machines virtuelles VirtualBox: X: \ VM NewVMs \ VirtualBox
  10. Statut de test des machines virtuelles

Bonne chance.


9
2017-08-16 12:21



Bien qu'il s'agisse d'une réponse informative, ce n'est pas ce qui a été demandé. Une autre question pourrait être un endroit plus approprié pour votre réponse. - akTed
@Steven, "... essentiellement un passage d'un hôte OS à un autre ... "? - pythonlarry


Pour le cas particulier où:

  • vous avez seulement un VM unique (ou souhaitez déplacer toutes vos machines virtuelles),
  • et l'hôte est le même matériel avec la même version du système d'exploitation (ou réinstaller le même système d'exploitation sur la même machine)

Si vous êtes dans ce cas, alors les choses sont faciles:

  1. Arrêtez VirtualBox sur les deux hôtes.
  2. Copiez le .config/VirtualBox et VirtualBox VMs dossiers de l’hôte source.
  3. Copiez ces dossiers sur l'hôte de destination.
  4. Démarrer VirtualBox sur l'hôte de destination

2
2018-03-22 03:42





J'ai également utilisé la méthode 2 pour déplacer ma machine virtuelle et je n'ai eu à apporter aucune modification à un fichier XML, mais j'ai rencontré quelques erreurs avec le partage de fichiers et USB, et voici comment je les ai corrigés:

  1. Copiez la machine virtuelle de l'ancien au nouveau PC. Les fichiers de la machine virtuelle sont différents de la machine virtuelle Oracle elle-même. Ces fichiers sont généralement à c: \ users \\ VirtualBox VMs \. J'ai ramassé le tout VM VirtualBox \ partie et copié à un emplacement similaire sur le nouveau PC. Cela copie toutes les machines virtuelles que j'avais sur le PC d'origine.

  2. Maintenant, sur le nouveau PC, exécutez la boîte virtuelle et allez dans Menu> Machine> Ajouter et sélectionnez le fichier .vbox dans le dossier copié. C'est tout.

  3. Maintenant, quand je lance une machine virtuelle sur un nouveau PC, j'ai eu une erreur au démarrage:

enter image description here

  1. Je ne sais pas pourquoi le contrôleur USB ne fonctionnait pas car les mêmes fonctionnaient sur l'ordinateur d'origine. Je suis allé de l'avant et installé VirtualBox Extension Pack

  2. Cette installation était un peu étrange car le téléchargement de l'installation n'était pas un fichier exécutable. J'ai cliqué sur Oracle_VM_VirtualBox_Extension_Pack-5.1.4-110228.vbox-extpack et sélectionné "Sélectionner un programme dans une liste de programmes installés" et que la Virtualbox Oracel sélectionnée et il a installé l'extension. Cela a résolu le problème, mais une autre solution moins souhaitable est que vous pouvez désactiver le port USB.

  3. Si vous aviez partagé des dossiers dans la machine virtuelle d'origine, ils peuvent différer et vous obtiendrez une erreur. Examinez ceux dans Paramètres >> Dossier partagé et supprimez ceux qui sont cassés. Un message d'erreur ressemblera à

this.

C'est tout.


0
2017-09-12 21:36





La 4ème voie

Dans VirtualBOX:

  1. Mettre hors tension la VM
  2. Faites un clic droit et supprimez la VM (ne supprimez pas les fichiers)
  3. Allez dans le fichier> Virtual Media Manager et supprimez le fichier .vdi
  4. Allez dans Fichier> Préférences> Général et définissez le dossier machine par défaut sur le nouvel emplacement.
  5. Créer un nouvel ordinateur virtuel en mode expert pour créer la machine virtuelle sans disque dur

Dans l'explorateur de fichiers:

  1. Localisez le fichier .vdi et copiez-le
  2. Aller dans le nouveau dossier de la machine par défaut, il y aura un dossier VM à l'intérieur
  3. Collez le fichier .vdi dans le nouveau dossier VM

Retour dans VirtualBOX:

  1. Faites un clic droit sur la VM et ouvrez les paramètres
  2. Allez dans Stockage> Contrôleur: SATA et ajoutez un disque dur, cliquez sur choisir un disque existant 11.choignez le fichier .vdi dans le nouveau dossier de la VM

Remarque: Si la méthode 2 interrompt votre installation de VirtualBOX, accédez à C: \ Users \ .VirtualBox et supprimez VirtualBox.xml et renommez VirtualBox.xml-prev en VirtualBox.xml.


0
2018-06-28 21:44





zar, première chose en premier ... ne déplacez jamais une machine en état de sauvegarde, vous devez la fermer avant de la déplacer.

Veillez également à utiliser la même version de VirtualBOX sur les deux hôtes, mais pas uniquement sur la version VirtualBOX, la version du pack d'extension ... ou du moins le nouvel hôte a une version supérieure, mais jamais une version inférieure sur ces deux.

Et enfin, je l'ai appris à la dure, supprimez la configuration du dossier SHARED sur VirtualBOX avant de déplacer la machine, puis recréez-la correctement ... très important lorsque l'hôte est différent du système d'exploitation (hôtes Windows / Linux).

Et juste comme une note secondaire ... toujours, utilise toujours des fichiers VDI de disque dur pour OS ainsi que pour les VDI de données (de cette façon, le même DATA VDI peut être utilisé pour plus que invité), en particulier pour 4GiB pagefile.sys

Cette dernière partie, réutiliser un fichier VDI inimitable rend les choses un peu plus difficiles, VirtualBOX a un gros bug.

Pour voir le bug en action:

  • Créer un VDI inaltérable (comme celui que j'utilise pour pagefile.sys)
  • Créer deux ou trois machines virtuelles sur VirtualBOX
  • Déplacez l'un d'eux en haut de la liste (juste pour éviter d'être endommagé l'un des vôtres)
  • Sauvegarde les fichiers .vbox de chacune de ces machines que vous avez créées (pour les comparer après le bogue)
  • Attachez cette VDI non modifiable à plusieurs de ces machines (sauf celle située en haut de la liste)
  • Maintenant, voyez la .vbox de la machine en haut de la liste

Cette machine a été éditée, elle a des références aux autres machines inaltérables VDI.

Le BUG est donc le suivant: Modifier une machine en ajoutant une VDI inaltérable utilisée par une autre affecte la machine en haut de la liste.

Pourquoi diable je réutilise la même VDI 4GiB sur toutes les machines Windows? Facile, c'est un disque MBR avec une partition FAT32 sur laquelle je mets pagefile.sys, car il est impossible de le faire, toutes les machines virtuelles créeront un fichier dans leur dossier de capture instantanée où elles stockeront les modifications et seront perdues au prochain démarrage. pas besoin de 4GiB pour chaque invité stocké sur le disque hôte, juste un seul ... de cette façon je sauve beaucoup de GiB depuis que j'ai plus de 20 fenêtres différentes pour tester des applications que je développe pour moi-même, toutes combinaisons de (XP, Vista , 7, 8, 8.1, 10) * (32Bits, 64Bits) * (Tout comme lors de la première installation, après chaque ServicePack, après une mise à jour complète de Windows), je reçois beaucoup d’invités, donc tous Je partage l'inévitable 4GiB VDI pour le ram virtuel (pagefile.sys).

Et si vous laissez le BUG aller plus loin, essayez de déplacer l'une de ces machines vers un autre hôte VirtualBOX (rappelez-vous qu'il ne s'agit que d'une machine virtuelle avec une configuration sur eux et qu'aucun invité n'est encore installé). ajoutez-les, car certains VDI sont manquants (il est FAUX et VRAI, c’est que cette première machine contient les références à de telles VDI à l’instar de la bonne machine).

Maintenant, comparez les fichiers .VBOX de tous ceux-ci avec previos BackUp ... notez comment on est modifié de manière incorrecte? ... oui, c'est celui qui se trouve en haut de la liste.

Eh bien, ce BUG a été informé de VirtualBOX il y a quelques années, ils ne peuvent toujours pas le réparer ... et cela cause beaucoup de problèmes.

De plus, si vous déplacez le haut sur les machines virtuelles dans une position plus basse, fermez VirtualBox et relancez-le ... vous dira que certaines machines sont endommagées et ne peuvent pas être démarrées ... oui le premier sur la liste doivent être traités sous une forme différente si vous ne voulez pas avoir beaucoup de problèmes.

C'est un très mauvais BUG qui m'a pris beaucoup de temps à découvrir (il y a quelques années) je l'apprends à la dure!

Je l'avais surmonté en ayant une machine que j'avais appelée:

  • Common Inmutable Disks

Il a une configuration vide et un seul VDI, oui, vous avez raison, vous l’avez deviné, le VDI inaltérable que je partage pour toutes les autres machines virtuelles.

Eh bien, quand j'ouvre le fichier .VBOX, je vois à l'intérieur beaucoup de lignes sur le <MediaRegistry>  <HardDisks> section, une pour chaque machine où j'utilise cette VDI inaltérable ... juste comme un échantillon (je supprime les données privées):

<MediaRegistry>
  <HardDisks>
    <HardDisk uuid="...UUID..." location="D:\VDIs\_Virtual_Memory_.vdi" format="VDI" type="Immutable">
      <HardDisk uuid="{...UUID...}" location="Snapshots\{...UUID...}.vdi" format="VDI" autoReset="true"/>
      <HardDisk uuid="{...UUID...}" location="D:\VMs\Windows001 ... // This belongs to other virtual Machine
      <HardDisk uuid="{...UUID...}" location="D:\VMs\Windows002 ... // This belongs to other virtual Machine
      <HardDisk uuid="{...UUID...}" location="D:\VMs\Windows003 ... // This belongs to other virtual Machine
      <HardDisk uuid="{...UUID...}" location="D:\VMs\Windows004 ... // This belongs to other virtual Machine
      <HardDisk uuid="{...UUID...}" location="D:\VMs\Windows005 ... // This belongs to other virtual Machine
      <HardDisk uuid="{...UUID...}" location="D:\VMs\Windows006 ... // This belongs to other virtual Machine
      <HardDisk uuid="{...UUID...}" location="D:\VMs\Windows007 ... // This belongs to other virtual Machine
      <HardDisk uuid="{...UUID...}" location="D:\VMs\Windows008 ... // This belongs to other virtual Machine
      <HardDisk uuid="{...UUID...}" location="D:\VMs\Windows009 ... // This belongs to other virtual Machine
      <HardDisk uuid="{...UUID...}" location="D:\VMs\Windows010 ... // This belongs to other virtual Machine
      <HardDisk uuid="{...UUID...}" location="D:\VMs\Windows011 ... // This belongs to other virtual Machine
      <HardDisk uuid="{...UUID...}" location="D:\VMs\Windows012 ... // This belongs to other virtual Machine
      <HardDisk uuid="{...UUID...}" location="D:\VMs\Windows013 ... // This belongs to other virtual Machine
      ... and so on ...  // This belongs to other virtual Machine
    </HardDisk>
  </HardDisks>
</MediaRegistry>

Joli BUG, ​​pas résolu depuis des années.

Eh bien, pour déplacer de telles machines ... vous devez éditer manuellement les fichiers .VBOX, pour mettre toutes ces références de disques sur le nouvel hôte sur la première machine (celle qui est en haut de la liste) avant d'ajouter la .VBOX fichiers à la liste, donc lorsque vous les ajoutez, VirtualBOX a les références aux VDI manquants (manquants causés par le gros bogue).

La chose se produit car chaque fois que vous connectez une VDI utilisée sur une autre machine, VirtualBOX met à jour deux fichiers .VBOX (celui qui appartient à la machine que vous utilisez) et le premier de la liste.

Je ne suis pas tout à fait sûr de ce qui se passerait quand sur la liste, le premier n'a pas de VDI commune attachée à lui ... mieux vaut ne pas l'essayer, vu ce que je vois.

Ainsi, la migration vers un autre HOST est beaucoup plus compliquée que ce qu’il semble être en raison d’une très mauvaise implémentation sur la structure interne des fichiers .VBOX et à cause des gros bogues lorsque VirtualBOX les édite.

Échoue:

  • La structure interne (XML) dépend de l’HÔTE (Windows ou Linux)
  • Modifier une machine peut en modifier une autre, pas seulement celle qui a été modifiée
  • ... quoi de plus ?

Besoin de plus ... Je migre toujours les machines en faisant cela (et sans aucun problème, jamais):

  1. Prenez note de la liste de toutes les machines (commande, groupement, etc.)
  2. Prenez note du premier sur la liste (toute sa configuration)
  3. Prenez note de toutes les propriétés des machines que je veux déplacer vers un autre hôte
  4. Copiez les fichiers .vbox en fichiers .txt (celui en haut de la liste + tous les ordinateurs que je souhaite migrer)
  5. Recréer toutes les machines (et en avoir une spéciale en haut de la liste) dans VirtualBox sur le nouvel hôte
  6. Fermer VirtualBox sur un nouvel hôte
  7. Diff compare l'ancien fichier .txt avec les nouveaux fichiers .vbox et copie de .txt à .vbox certaines parties à la manière humaine, pas seulement Copier et coller
  8. Ouvrez VirtualBox et attachez tous les VDI dans le bon ordre
  9. Encore une fois Fermer VirtualBox sur un nouvel hôte
  10. Diff compare l'ancien fichier .txt avec les nouveaux fichiers .vbox et 'corrige' à partir de .txt pour .vbox certaines parties à la manière humaine, pas seulement copier-coller

Tout le reste (dossier d'instantanés et fichiers VDI), je les copie de la manière habituelle (Copier et coller dans le système de fichiers).

Tout ce travail manuel est dû au Big BUG VirtualBox: il modifie / modifie une machine qui n’a pas été modifiée lorsque vous connectez une VDI inutilisable utilisée sur plusieurs machines, sinon un simple Copier / Coller le fichier .VBOX serait suffisant (après réparer les chemins de dossiers partagés, etc.).


-1
2018-01-03 15:03





Copiez le dossier contenant la machine vers la destination, puis depuis le menu: "Machine" ---> "Ajouter", puis choisissez le fichier vbox, PAS le fichier vdi. Pour moi, cela s'est passé sans problème. Je ne sais pas si j'ai eu de la chance ou si cela est censé fonctionner de cette façon.


-2
2018-04-27 23:51