A maioria dos guias para a instalação do Windows no VirtualBox funciona como um modelo para trabalhos rápidos do Windows e você deve executar algumas etapas para preparar a Máquina Virtual antes de instalar o Windows (o melhor guia que encontrei: grahamrhay.wordpress.com ; outro guia bastante bom: www .windowstablettv.com ). Infelizmente, não li esses guias antes de instalar e ativar o Windows na VM que queria usar como modelo.
Quero saber como clonar minha VM já ativa de forma que não exija a reativação do Windows.
Procurando no arquivo de definição de VM do modelo (o arquivo VBOX ou XML da VM), o /VirtualBox/Machine/Hardware
nó (ID do XPath) não possui uuid
atributo. Mas, se eu tentar usar VBoxManage modifyvm <uuid|name> --hardwareuuid <uuid>
para definir um novo UUID para a VM de modelo, a VM de modelo perderá seu status de ativação! (Felizmente, eu fiz um backup do modelo.) Portanto, para alcançar meu objetivo, não posso simplesmente seguir os guias que fingem que ainda não instalei o Windows.
VBoxManage modifyvm --hardwareuuid <uuid>
modifyvm
comando não definirá o atributo do/VirtualBox/Machine/Hardware
nóuuid
se você passar um UUID com o mesmo valor que o atributo do/VirtalBox/Machine
nó da VMuuid
. Você deve editar o arquivo VBOX diretamente.Este script do PowerShell faz o trabalho:
Lembre-se de que os nomes das máquinas virtuais diferenciam maiúsculas de minúsculas.
fonte
Graças às dicas acima, clonei com êxito uma máquina com o convidado Win7 em execução em um host Kubuntu para fins de teste sem reativação.
Minha máquina já estava ativada e (como descrito acima) na verdade não tinha UUID de hardware.
Para mim, parece que o MACHINE UUID é apenas para gerenciamento do Virtualbox, enquanto o HARDWARE UUID é usado pela lógica de ativação do Windows. Se não houver UUID de hardware, o Virtualbox fornecerá o UUID da máquina ao convidado, ou seja, a Microsoft conhece o UUID da máquina.
Portanto, foi assim que funcionou bem, sem reativação no meu caso: 1) Copie a máquina virtual (pasta) com o navegador de arquivos normal. 2) Abra o arquivo .vbox em um editor de texto simples. 3) Como não havia atributo UUID para o "hardware", copie o atributo UUID da máquina (por exemplo, uuid = "{xxx11111-2222-3333-4444-xxxxxxxxxxxx}") para a entrada "hardware". 4) Gere um novo UUID para a máquina, por exemplo, com uuidgenerator.net. 5) Sobrescreva VALUE da máquina UUID pelo valor UUID gerado. => Concluído.
Para gerenciar as duas máquinas em paralelo no VB Manager, é mais complicado:
1. Renomeie o arquivo .vdi do disco rígido dos clones.
2. Na linha de comando, forneça um novo UUID ao disco rígido via comando "VBoxManage internalcomands sethduuid .vdi. O VBManager definirá um novo UUID e o exibirá.
3. No VB Manager, adicione a nova máquina. Edite a máquina adicionando o novo arquivo de disco rígido. (e remova o vdi original, se ainda estiver presente).
Agora você tem IDs exclusivos para todas as máquinas virtuais e discos rígidos. Você pode gerenciar as duas máquinas no VB Manager em paralelo.
fonte
Clonar completamente a máquina. Não inicie.
Na linha de comando:
VBoxManage modifyvm "Nome da VM clonada" - hardwareuuid xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Como UUID, use a identificação da máquina (ou a identificação do hardware, se houver) da máquina original.
Para obter esse UUID, use:
VBoxManage showvminfo "Nome original da VM"
Isso deve funcionar. Testado no Windows 10 convidado, já ativado.
fonte
/VirtalBox/Machine
do nó da VMuuid
, como indicam a pergunta e outro comentário .A resposta acima funciona! Eu testei em um modelo do Windows 10.
"Clone completamente a máquina. Não inicie. Na linha de comando: VBoxManage modifyvm" Nome da VM clonada "--hardwareuuid xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx Como UUID, use o ID da máquina (ou o ID do hardware, se presente) no diretório Para obter esse UUID, use: VBoxManage showvminfo "Original VM name"
Isso deve funcionar. Testado no Windows 10 convidado, já ativado.
fonte