La plupart des guides d'installation de Windows sur VirtualBox pour servir de modèle pour les travaux Windows rapides vous disent de prendre quelques mesures pour préparer la machine virtuelle avant d' installer Windows (le meilleur guide que j'ai trouvé: grahamrhay.wordpress.com ; un autre assez bon guide: www .windowstablettv.com ). Malheureusement, je n'ai pas lu ces guides avant d'installer et d'activer Windows sur la machine virtuelle que je voulais utiliser comme modèle.
Je veux savoir comment cloner ma machine virtuelle déjà active d'une manière qui ne nécessiterait pas une réactivation à partir de Windows.
En regardant dans le modèle de fichier de définition de machine virtuelle (le fichier VBOX ou XML pour la machine virtuelle), le /VirtualBox/Machine/Hardware
nœud (XPath ID) n'a aucun uuid
attribut. Mais, si j'essaie d'utiliser VBoxManage modifyvm <uuid|name> --hardwareuuid <uuid>
pour définir un nouvel UUID pour la machine virtuelle de modèle, la machine virtuelle de modèle perd son statut d'activation! (Heureusement, j'avais fait une sauvegarde du modèle.) Donc, pour atteindre mon objectif, je ne peux pas simplement suivre ces guides en prétendant que je n'ai pas encore installé Windows.
VBoxManage modifyvm --hardwareuuid <uuid>
modifyvm
commande ne définira pas l' attribut de/VirtualBox/Machine/Hardware
nœuduuid
si vous transmettez un UUID avec la même valeur que l' attribut de/VirtalBox/Machine
nœud de la machine virtuelleuuid
. Vous devez modifier le fichier VBOX directement.Ce script PowerShell fait le travail:
N'oubliez pas que les noms des machines virtuelles sont sensibles à la casse.
la source
Grâce aux conseils ci-dessus, j'ai réussi à cloner une machine avec un invité Win7 fonctionnant sur un hôte Kubuntu à des fins de test sans réactivation.
Ma machine était déjà activée et (comme décrit ci-dessus) n'avait en fait aucun UUID matériel.
Pour moi, il semble que l'UUID MACHINE est uniquement destiné à la gestion de Virtualbox, tandis que l'UUID HARDWARE est utilisé par la logique d'activation de Windows. S'il n'y a pas d'UUID matériel, Virtualbox fournit l'UUID de la machine à l'invité, c'est-à-dire que Microsoft connaît l'UUID de la machine.
Voici donc comment cela a bien fonctionné sans réactivation dans mon cas: 1) Copiez la machine virtuelle (dossier) avec le navigateur de fichiers normal. 2) Ouvrez le fichier .vbox dans un simple éditeur de texte. 3) Comme il n'y avait pas d'attribut UUID pour le "matériel", copiez l'attribut UUID de la machine (par exemple uuid = "{xxx11111-2222-3333-4444-xxxxxxxxxxxx}") dans l'entrée "matériel". 4) Générez un nouvel UUID pour la machine, par exemple avec uuidgenerator.net. 5) Remplacez la valeur UUID de la machine par la valeur UUID générée. => Terminé.
Pour gérer les deux machines en parallèle dans VB Manager, il est plus difficile:
1. Renommez le fichier .vdi du disque dur des clones.
2. En ligne de commande, fournissez un nouvel UUID au disque dur via la commande "VBoxManage internalcommands sethduuid .vdi. VBManager définira un nouvel UUID et l'affichera.
3. Dans VB Manager, ajoutez la nouvelle machine. Modifiez la machine en ajoutant le nouveau fichier de disque dur (et supprimez le vdi d'origine, s'il est toujours présent).
Vous disposez désormais d'ID uniques pour toutes les machines virtuelles et tous les disques durs. Vous pouvez gérer les deux machines dans VB Manager en parallèle.
la source
Clonage complet de la machine. Ne le lancez pas.
Depuis la ligne de commande:
VBoxManage modifyvm "Nom de machine virtuelle clonée" --hardwareuuid xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
En tant qu'UUID, utilisez l'ID de la machine (ou l'ID matériel, le cas échéant) de la machine d'origine.
Pour obtenir l'utilisation de cet UUID:
VBoxManage showvminfo "Nom de machine virtuelle d'origine"
Cela devrait fonctionner. Testé sur l'invité Windows 10, déjà activé.
la source
/VirtalBox/Machine
nœud de la machine virtuelleuuid
, comme l' indiquent la question et un autre commentaire .La réponse ci-dessus fonctionne! Je l'ai testé sur un modèle Windows 10.
"Clonage complet de la machine. Ne la démarrez pas. À partir de la ligne de commande: VBoxManage modifyvm" Nom de la machine virtuelle clonée "--hardwareuuid xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx Comme UUID, utilisez l'ID de la machine (ou l'ID du matériel si présent) à partir du machine d'origine. Pour obtenir cet UUID, utilisez: VBoxManage showvminfo "Original VM name"
Cela devrait fonctionner. Testé sur l'invité Windows 10, déjà activé.
la source