Questão Qual é a maneira recomendada de mover uma VM do VirtualBox para outro computador?


Eu uso o VirtualBox 4.1.x na minha máquina Ubuntu e configurei várias máquinas virtuais. Uma vez que existem várias maneiras de se mover uma máquina virtual no VirtualBox para outro computador, eu queria saber qual é o caminho recomendado:

  1. Use o "utilitário de importação / exportação".
  2. Copie a pasta inteira da máquina virtual, contendo o .vdi e .vbox arquivos.
  3. Clone a VDI usando o “Virtual Media Manager” e recrie uma VM na máquina de destino, usando o VDI clonado como disco rígido.

Eu usei com sucesso o 1º método várias vezes e sempre funcionou. O problema é que depois de exportar e importar, a imagem do disco é transformada em VMDK e não em mais VDI!

o 2º método é provavelmente o mais fácil, mas não tenho certeza de que simplesmente copiar os arquivos funcionará ou não na máquina de destino. Ao pesquisar sobre esse método, descobri que algumas pessoas tinham problemas em que precisavam editar o arquivo VirtualBox.xml para resolvê-lo!

Por fim, há o 3º método, mas requer o trabalho extra de criar uma VM semelhante à configuração original da VM, o que não é desejável.

Está claro pela explicação acima que o meu método desejado é o segundo, mas eu preciso de conselhos de especialistas sobre isso, se funciona ou não. Eu não quero nenhuma edição de XML ficando no meu caminho!

Qual é o melhor método para transferir com segurança minhas VMs para outro computador com o VirtualBox?


197


origem


Basta transferir os arquivos e colocá-los no mesmo local. - Ramhound
@seyed 1. A à prova de falhas solução com altas taxas de sucesso / reprodutibilidade pode nem sempre recomendado e / ou melhor solução para um problema e vice-versa. No entanto, desde então, você pergunta sobre o recomendado solução, opção 2) da sua lista (apesar de propensa a erros) seria o mais rápido e, portanto, recomendado! Opções (1) e (3) cair sob o à prova de falhas categoria, como eles vai trabalhar na maioria das circunstâncias. P.S .: pós-exportação, algumas configurações de configuração (a maioria) podem ser alteradas (se as opções 1/3 forem usadas)! ... Espero que isto ajude. - Amar


Respostas:


Bem feito para fazer sua pesquisa. Eu uso regularmente todas as três opções.

  1. (Use o "utilitário de importação / exportação"). Isso é o mais fácil porque combina toda a VM em um único arquivo e transfere tudo sem problemas praticamente todas as vezes. No entanto, na minha experiência ao criar o arquivo OVA ou OVF para exportação, ele descarta todos os instantâneos e, se feito incorretamente, pode resultar em um arquivo VMDK. Quando você reimportar a VM, poderá selecionar o tipo de arquivo HDD que deseja criar, VDI ou VMDK.

  2. (Copie toda a pasta da máquina virtual, contendo o .vdi e .vbox arquivos). Esta é a minha opção preferida e, embora eu tenha que editar o arquivo XML algumas vezes, a culpa foi minha por estragar algo. Certifique-se de que, ao copiar a VM, você obtenha TODOS os arquivos associados a ela. Os problemas que eu encontrei foram quando certos instantâneos e arquivos VDI secundários estavam no diretório errado e não foram copiados corretamente. Se você copiar todos os arquivos (e permissões), não deverá ter nenhum problema.

  3. (Clone a VDI usando o “Virtual Media Manager” e, em seguida, recrie uma VM na máquina de destino, usando o VDI clonado como disco rígido).  Isso é menos desejável porque você tem duas cópias de uma VM e pode causar problemas de licenciamento, problemas de rede, etc, dependendo de como você clona o arquivo VDI.

Em resumo, eu recomendaria definitivamente a opção 2, apenas certifique-se de obter todos os arquivos necessários ao movê-lo.


139



Obrigado pela resposta. Vou esperar mais alguns dias para ver se alguém tem outro ponto. (+1) - Seyed Mohammad
Parece que ninguém tem nada a acrescentar ... Então estou marcando isso como a resposta. - Seyed Mohammad
Apenas uma referência adicional para a Opção 1, ligação, após a importação, o formato é VDMK, parece ser determinado e não pode ser alterado. - simongcc
@tbenz Como evitar um VMDK ao exportar? - Don Rhummy
Apenas para completar: Se você fizer a Opção 2, faça isso na máquina de destino: Virtualbox> Máquina> Adicionar> [navegue até a pasta onde estão todos os arquivos da VM]. Provavelmente, é uma boa idéia colocar os novos arquivos da VM na mesma pasta em que todas as outras VMs estão armazenadas. - Donn Lee


O método 2 funciona bem agora (com o VirtualBox 4.0 e superior), sem qualquer modificação XML necessária:

  1. Pare sua máquina virtual
  2. Sair do VirtualBox
  3. Copie a pasta da VM para o novo local
  4. Reinicie o VirtualBox e exclua a VM antiga.
  5. Vá para o menu Máquina ≥ Adicionar e navegue até a sua pasta antiga.

É isso aí!

ps: Eu tenho o VirtualBox 4.3.20 no OSX 10.10

Vejo esta postagem no fórum do VirtualBox para mais detalhes.


34



Não posso acreditar que não tenha sido votado como deveria ser! Essa é a maneira mais fácil (muito fácil!) Ao mover as VMs dentro do mesmo sistema operacional. Moveu com sucesso duas VMs da unidade C para a unidade D. A mina é Win7 de 64 bits com o VirtualBox 5.x - Edwin Yip
Isso realmente não funciona apenas para mover o arquivo VDI, apenas a máquina virtual inteira. - DustWolf
@DustWolf Certo, mas é sobre isso que a pergunta do op se refere. - David
@DustWolf Isto é o que David disse. "Copie a pasta da VM para o novo local". Tanto quanto eu estou preocupado, esta pasta contém toda a máquina virtual. Estou esquecendo de algo? - Nik-Lz
@RestlessCobra sim, a nova pasta contém toda a VM. - David


Minha opção preferida é a opção 2 também:

  1. Copie toda a pasta da VM, contendo os arquivos .vdi e .vbox.

Mas às vezes uma incompatibilidade de UUID irá acontecer. Freqüentemente isso acontece se você simplesmente copiar a imagem de disco VDI de uma máquina em outra, mas isso aconteceu durante cópias diretas de diretórios completos também.

Então, se esta é a mensagem que você recebe depois de mover a máquina virtual e tentar iniciá-la na nova configuração:

Falha ao abrir o disco rígido.

Não é possível registrar o disco rígido por causa de um disco rígido    com o UUID já existe.

Basta entrar no diretório da sua máquina virtual; é claro, altere o caminho real para corresponder ao caminho real em que você está entrando:

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

E execute este comando para atribuir ao disco um novo UUID:

VBoxManage internalcommands sethduuid Sandbox.vdi

16





No caso de alguém mais estar procurando uma resposta para isso, eu movi com sucesso 5 Virtual Box VMs para outra instalação do Win7 em um novo disco rígido na mesma máquina (essencialmente uma mudança de um sistema operacional convidado para outro no mesmo PC). Eu percebo que os drivers em uma máquina completamente nova provavelmente variariam e potencialmente teriam um efeito negativo na mudança, mas eu documentei o processo abaixo na esperança de que isso possa ajudar alguém.

  • Não houve necessidade de clonar VMs ou alterar o arquivo xml. Versão VB foi bastante atual: 4.3.12r93773.
  • Novas cópias de VMs foram criadas em uma nova pasta / unidade compartilhada para manter as VMs existentes / antigas intactas. Eu ainda posso inicializar a partir do disco rígido antigo que eu retive para resolução de redundância / problema até que eu esteja feliz com a minha nova configuração; para que eu possa acessar as VMs antigas em seu estado anterior, se necessário.
  • Letras de unidade podem variar / podem não ser necessárias dependendo da sua configuração.

No antigo hospedeiro Win7:

  1. Assegure-se de que todas as VMs estejam desligadas.

No novo host Win7:

  1. Crie uma nova pasta chamada VMs X: \ NewVMs \ VirtualBox (da máquina New Win7 para garantir permissões OK)
  2. Copiar / Colar (não arraste) todas as VMs e o conteúdo da pasta relacionada da pasta antiga para essa pasta (usa novas permissões)
  3. Desinstalar o VirtualBox (se instalado)
  4. Excluir a pasta .virtualbox e todo o conteúdo (se existente)
  5. REINICIALIZAR para confirmar que não faltam arquivos de programa ou entradas de registro (se estiver desinstalando o VirtualBox antigo).
  6. Instalar / Reinstalar o VirtualBox (verifique se você está usando a mesma versão do VirtualBox em que as VMs foram criadas no host / máquina antigo (no meu caso, ver. 4.3.12r93773))
    IMPORTANTE: (Não selecione a caixa de seleção para abrir / executar o VirtualBox no final da instalação)
  7. Copie / cole (não arraste) a pasta .virtualbox e o conteúdo do antigo host Win7 (geralmente C: \ Users [nome de usuário] .VirtualBox
  8. Agora abra o VirtualBox
  9. Defina as preferências para a nova pasta de criação de VM padrão para o mesmo caminho de arquivo que a pasta de VMs do VirtualBox recém-criada: VMs X: \ NewVMs \ VirtualBox
  10. Status de teste de VMs

Boa sorte.


9



Embora esta seja uma resposta informativa, não é sobre o que foi perguntado. Outra questão pode ser um local mais apropriado para sua resposta. - akTed
@Steven, "... essencialmente um movimento de um hospedeiro OS para outro ... "? - pythonlarry


Para o caso especial em que:

  • você só tem um VM única (ou quer mover todas as suas VMs),
  • e o host é o mesmo hardware com a mesma versão do SO (ou reinstalar o mesmo SO na mesma máquina)

E se você está neste caso, então as coisas são fáceis:

  1. Encerre o VirtualBox em ambos os hosts.
  2. Copie o .config/VirtualBox e VirtualBox VMs pastas do host de origem.
  3. Copie essas pastas para o host de destino.
  4. Inicie o VirtualBox no host de destino

2





Eu também usei o método 2 para mover minha máquina virtual e não precisei fazer nenhuma alteração em nenhum arquivo XML, mas achei alguns erros com o compartilhamento de arquivos e USB e abaixo está como os corrigi junto com o processo:

  1. Copie a máquina virtual do antigo para o novo pc. Os arquivos da máquina virtual são diferentes da própria máquina do Oracle Virtual. Esses arquivos geralmente estão em c: \ users \\ VirtualBox VMs \. Eu peguei o todo VMs do VirtualBox \ copiei e copiei para um local semelhante no novo PC. Isso copia todas as máquinas virtuais que eu tinha no PC original.

  2. Agora no novo PC, execute a caixa virtual e vá para Menu> Máquina> Adicionar e selecione o arquivo .vbox da pasta copiada. É isso aí.

  3. Agora, quando executo a máquina virtual no novo PC, recebo um erro quando ele está inicializando:

enter image description here

  1. Eu não sei porque o controlador USB não estava funcionando porque o mesmo funcionava no computador original. Fui em frente e instalei Pacote de Extensão VirtualBox

  2. Esta instalação foi um pouco estranha porque o download da instalação não era um arquivo executável. Cliquei em Oracle_VM_VirtualBox_Extension_Pack-5.1.4-110228.vbox-extpack e selecionei 'Selecione um programa em uma lista de programas instalados' e selecionei a caixa virtual do Oracel e instalei a extensão. Isso resolveu o problema, mas outra solução menos desejável é que você pode desativar o usb.

  3. Se você tivesse pastas compartilhadas na VM original, elas podem ser diferentes e você receberá um erro. Reveja aqueles em Configurações >> Pasta compartilhada e exclua os que estão quebrados. Uma mensagem de erro será semelhante

this.

Isso é tudo.


0





O quarto caminho

No VirtualBOX:

  1. Desligue a VM
  2. Clique com o botão direito e remova a VM (não exclua arquivos)
  3. Vá para o arquivo> Virtual Media Manager e remova o arquivo .vdi
  4. Vá para Arquivo> Preferências> Geral e defina a pasta da máquina padrão para o novo local
  5. Criar um novo modo especialista de uso de VM para criar a VM sem um disco rígido

No Explorador de Arquivos:

  1. Localize o arquivo .vdi e copie-o
  2. Vá para a nova pasta de máquina padrão, haverá uma pasta VM dentro
  3. Cole o arquivo .vdi na nova pasta da VM

De volta ao VirtualBOX:

  1. Clique com o botão direito na VM e abra as configurações
  2. Vá para Armazenamento> Controlador: SATA e adicione um disco rígido, clique em escolher um disco existente 11. escolha o arquivo .vdi na nova pasta da VM

Nota: Se o método 2 interromper a instalação do VirtualBOX, vá para C: \ Users \ .VirtualBox e exclua VirtualBox.xml e renomeie o VirtualBox.xml-prev para VirtualBox.xml


0