Question Comment déplacer les fichiers VirtualBox?


Par défaut, VirtualBox stocke toutes les données dans un répertoire situé sous le répertoire de base. Je sais comment le changer mais comment puis-je changer l'emplacement des images existantes (sans modifier manuellement VirtualBox.xml)?

Je travaille sur Windows et je ne veux pas essayer d'utiliser des liens NTFS.


149
2018-03-11 10:53


origine


Awww, j'allais suggérer des liens symboliques (ils résolvent tout), mais vous avez bloqué cette idée ... :( - DMA57361
Je ne fais pas confiance aux liens sous Windows du tout. Bien que NTFS en soit capable, Windows XP n'en sait rien et il y a déjà suffisamment de problèmes. Je peux être inutilement lâche ... - maaartinus
Ah oui, je ne les toucherais pas sur XP. Mais le support sur 7 est assez solide: vous devez toujours les construire à partir de la ligne de commande, mais ce n’est pas vraiment une corvée. Je ne suis pas sûr de Vista ... - DMA57361
C'est encore pire, La version XP de NTFS prend en charge les liens durs, mais ceux-ci ne peuvent pas couvrir des volumes. De toute évidence, je voulais déplacer les données vers une partition différente. - maaartinus
Les liens durs ne peuvent pas déjà volumes span, seuls les liens symboliques peuvent (et peuvent être utilisés pour ce genre de chose, mes dossiers utilisateur sont tous liés par un lien vers mon deuxième disque dur, par exemple). Mais personnellement, j'évite toujours les liens durs dans XP (même s'ils étaient une option). - DMA57361


Réponses:


Si vous voulez déplacer tous vos ordinateurs virtuels vers un nouvel emplacement, suivez ces deux réponses:

Copier le post ici:

  1. Arrêtez VirtualBox, sauvegardez votre fichier .VirtualBox \ VirtualBox.xml.
  2. Trouvez votre dossier existant "Virtualbox VMs" et copiez (et non déplacez) le dossier entier avec le contenu vers votre nouveau lecteur E:
  3. Exécutez VirtualBox, puis pour chaque machine virtuelle:

    3.1 Cliquez avec le bouton droit sur le nom de la VM et sélectionnez "Supprimer" dans le menu contextuel. Répondre non à la "supprimer physiquement des fichiers?" question.

    3.1b après avoir supprimé une machine virtuelle de l'interface utilisateur, vous devez fermer VirtualBox, et   laissez-le fermé assez longtemps pour que la tâche VBoxSVC en arrière-plan   expirer et terminer aussi. Ensuite, vous pouvez lancer l'application VirtualBox   à nouveau et utiliser Machine | Ajouter pour rajouter les machines virtuelles supprimées dans le précédent   étape.

    3.2 Sélectionnez l'élément de menu Machine | Ajouter, accédez au nouvel emplacement de la VM sur le lecteur E: et sélectionnez le fichier .vbox.

    3.3. Répétez pour les VM restantes.

  4. Dans Fichier | Préférences, définissez le chemin de l'ordinateur par défaut sur "E: \ VirtualBox VMs"
  5. Testez chacun des ordinateurs virtuels. Seulement après vous être assuré qu'ils fonctionnent tous, supprimez l'ancien dossier contenant la VM, c'est-à-dire supprimez "C: \ VirtualBox VMs".

126
2018-03-13 21:48



Lorsque je fais cela pour une machine clone lié, ils ne parviennent pas à démarrer - Nam G VU
Cela a fonctionné pour moi, même si je devais également mettre à jour les chemins d'accès à chaque image HardDisk et image instantanée en éditant le .VirtualBox\VirtualBox.xml fichier, et faire une recherche / remplacement. Aussi, je n'ai déplacé que le Machines et HardDisk dossiers, pas tous les fichiers contenus dans .VirtualBox, puisque c'est toute la configuration globale et la journalisation et autres. - Dave Andersen
Pour les utilisateurs de Mac OS X, VirtualBox.xml est situé à ~/Library/VirtualBox/VirtualBox.xml. Les machines virtuelles sont situées dans ~/VirtualBox VMs. - Siu Ching Pong -Asuka Kenji-
Virtual Box 4.3.0+ a résolu la "Dernière chose importante", je n'ai même pas eu besoin de la fermer - instructions. - PCaetano
Vous pourriez peut-être aussi ajouter la ligne de commande "version". 1) Lister les VM existantes via VBoxManage list vms. 2) À côté des noms des VM, entre accolades, leurs UUID sont référencés. Copiez celui qui vous intéresse. Les détails à ce sujet peuvent être récupérés via VBoxManage showvminfo UUID. 3) Annuler l'inscription de la VM d'intérêt via VBoxManage unregistervm UUID. 4) Déplacer le répertoire de la VM d'intérêt. 5) Enfin, enregistrez la machine via VBoxManage register NameOfVM.vbox - évidemment, où NameOfVM est le nom réel des VM .vbox fichier à enregistrer. - Nikos Alexandris


Je n'avais que deux machines virtuelles, et j'ai constaté que je pouvais simplement modifier l'emplacement de stockage par défaut pour VirtualBox, puis cloner mes machines virtuelles. Les clones ont été créés dans le nouvel emplacement sur le nouveau disque dur où je les voulais. Tout est intact, les instantanés et pas besoin de remapper l'emplacement des HD virtuels.


57
2018-06-22 11:15



+1 Je pense que c'est la meilleure méthode. VirtualBox déplace tout pour vous dans un petit paquet bien rangé. - Dave Andersen
c'est la meilleure façon, aucune édition manuelle de cfg n'est requise - Bojan Bjelic
comment est-ce que tu fais ça??? - FlipFloop
Cela devrait vraiment être la réponse acceptée - theV0ID
Pourriez-vous afficher une liste d'étapes suivies? - sancho.s


La méthode la plus simple ne nécessite pas la suppression de vos machines virtuelles et la suppression de leurs paramètres.

  1. Copiez votre dossier VM Virtualbox sur un nouveau lecteur.

  2. Exécutez le gestionnaire de machine Virtual Box. Exécutez le gestionnaire de médias Fichier -> Virtual Media Manager

    2a. Choisissez la machine virtuelle pour laquelle déplacer le stockage. Clique le Libération bouton puis le Retirer bouton. Dans la boîte de dialogue suivante, vous pouvez supprimer ou conserver le lecteur virtuel. Fermez le gestionnaire en vous laissant dans votre Virtualbox Machine Manager.

  3. Sélectionnez la machine virtuelle pour laquelle vous venez de retirer le support, cliquez sur le bouton Paramètres bouton, cliquez sur le Espace de rangement section. Ajoutez un contrôleur pour le média (SATA habituellement), puis ajoutez un disque dur et choisissez le disque existant et sélectionnez le disque virtuel à votre nouvel emplacement.

  4. Répétez pour chaque machine que vous déplacez

Déclenchez votre machine virtuelle au nouvel emplacement pour vérifier. La prochaine fois que vous visitez le Virtual Media Manager, survolant l'entrée de la VM vous montrera où le disque virtuel est stocké.

Assurez-vous de modifier vos dossiers d'instantanés pour qu'ils pointent vers le nouveau lecteur si vous les utilisez. Chaque machine a un paramètre de dossier instantané et le gestionnaire de machine virtuelle a un Dossier de machine par défaut mise en Fichier -> Paramètres cela doit être changé aussi.

De plus, je devais également modifier le chemin dans un fichier xml. Après cela, cela a fonctionné parfaitement.

REMARQUE: Les choses ont un peu changé depuis que cela a été écrit, voir la réponse de Rob. C'est extrêmement simple maintenant.


36
2018-06-10 04:52



Je pense que c'est de loin la façon la plus facile de le faire. - Peter Perháč


Sur Mac, éditez les chemins dans ce fichier:

/Users/pleddy/Library//VirtualBox/VirtualBox.xml

C'était facile, hop!


13
2018-02-05 22:41



Il utilise Windows et il ne veut pas non plus éditer VirtualBox.xml. - ChrisN
Cela m'a été utile, car cette question est toujours vérifiable si vous êtes sur Mac. - NReilingh
Je suis un utilisateur Mac et Google m'a débarqué ici et cette solution est la plus simple de toutes, fait parfaitement sens et a fonctionné pour moi :) - Mohit Singh
Je suis sur Linux et j'ai aimé le son de cette réponse, mais j'ai été décontenancé par l'avertissement en haut du fichier. Est-ce que vous recommanderiez toujours d’éditer le XML directement? L'avertissement dit: ** NE PAS MODIFIER CE FICHIER. Si vous apportez des modifications à ce fichier alors qu'une application liée à VirtualBox est en cours d'exécution, vos modifications seront écrasées ultérieurement, sans prendre effet. Utilisez VBoxManage ou l'interface graphique de VirtualBox Manager pour apporter des modifications. ** - craq


BEAUCOUP, BEAUCOUP plus simple. 1) déplacer vers un nouvel emplacement 2) Cliquez avec le bouton droit de la souris sur le menu de la boîte virtuelle 3) Sélectionnez "Ajouter" dans le menu de la machine 4) Recherchez l'icône bleue de 8 kb qui a un type de «définition de machine de virtualbox». Sélectionnez-le et il sera ajouté à votre liste de boîtes virtuelles. double clic sur la machine virtuelle et ça marche.


12
2017-07-21 22:18



Plus simple encore, lorsque vous souhaitez ajouter les VM à VirtualBox, cliquez simplement sur le bouton *.vbox fichier dans son dossier. - Joel Mellon
Comment les choses changent en trois ans ... Le souhait aurait été si facile à l'époque. Ajout d'une note à ma réponse pour qu'ils viennent voir celui-ci. - Fiasco Labs
Cela devrait vraiment être plus haut. Je tripotais et je ne pouvais pas le faire fonctionner. Il suffit de supprimer les "inaccessibles" dans l'interface utilisateur et de double-cliquer sur le fichier .vbox pour l'ajouter à nouveau. - wenbert
Ne fonctionne pas sur l'hôte Linux. Obtenir cette erreur: La session VM a été fermée avant toute tentative de mise sous tension. Code de résultat: NS_ERROR_FAILURE (0x80004005) Composant: SessionMachine Interface: ISession {7844aa05-b02e-4cdd-a04f-ade4a762e6b7} - Max N


Après avoir perdu une journée entière sur ce problème (en utilisant Virtualbox 5.0.12 sur Arch Linux), je l’ai finalement résolu de la manière suggérée par la réponse de thomthom. Pour ceux qui ne sont pas sûrs de la procédure exacte, la commande qui clone une machine entière (y compris les instantanés) est la suivante:

VBoxManage clonevm --mode all --basefolder </new/path/> --register <VM_to_clone>

Obtenir le nom de la VM avec

VBoxManage list vms

Si nécessaire, indiquez le chemin et le nom.

Enfin, vérifiez si tout va bien et retirez l'original.

C'est tout, vraiment. Pas besoin de s'embêter avec des fichiers xml ou un éditeur hexadécimal. Pas besoin d'utiliser une interface graphique, non plus.

http://www.virtualbox.org/manual/ch08.html#vboxmanage-clonevm


9
2018-01-11 15:33



C'était la seule réponse qui fonctionnait pour moi. Devrait être plus haut - Max N
VM_to_clone est l'UUID ou le nom de la machine virtuelle. Avec la commande donnée (en utilisant un UUID), un répertoire a été créé à /new/path/_<UUID>_ Clone, et les fichiers contenant également utilisés _<UUID>_ Clone comme nom Pour avoir explicitement un nom plus agréable, utilisez le --name "Your preferred name here" drapeau. - Rob W
... et pour supprimer la VM originale via la CLI, VBoxManage unregistervm UUID (UUID de la VM que vous avez obtenu via VBoxManage list vms, n'utilisez pas le nom de la machine virtuelle, car si vous utilisez --name pour conserver le nom d'origine, vous avez plusieurs machines virtuelles portant le même nom) - Rob W


Faire la même chose que dans Lucas Pottersky répondre mais via la ligne de commande (sous Windows, remplacer vboxmanage avec VBoxManage.exe):

  1. Listez toutes les machines virtuelles:

    vboxmanage list vms
    

    ou seulement en cours d'exécution:

    vboxmanage list runningvms
    

    qui pour chaque machine produit le nom et l'UUID.

    Procédez comme suit pour chaque machine à déplacer.

  2. Arrêtez-le gracieusement:

    vboxmanage controlvm UUID acpipowerbutton
    
  3. Annuler l'inscription:

    vboxmanage unregistervm UUID
    
  4. Déplacer le dossier de la machine virtuelle vers le nouvel emplacement.

  5. Enregistrez-le en fournissant un chemin vers .vbox fichier:

    vboxmanage registervm /path/to/machine.vbox
    

4
2018-03-04 00:43