Questão Como mover arquivos do VirtualBox?


Por padrão, o VirtualBox armazena todos os dados em um diretório abaixo do diretório inicial. Eu sei como mudar isso, mas como posso alterar a localização de imagens existentes (sem editar VirtualBox.xml manualmente)?

Estou trabalhando no Windows e não quero tentar usar nenhum link NTFS.


149


origem


Awww, eu ia sugerir links simbólicos (eles resolvem tudo), mas você bloqueou essa ideia ... :( - DMA57361
Eu não confio em links no Windows. Enquanto NTFS é capaz disso, o Windows XP não sabe nada sobre isso e já existem problemas suficientes com ele. Eu posso ser desnecessariamente covarde ... - maaartinus
Ah, sim, eu não tocaria no XP. Mas o suporte em 7 é bastante sólido - você ainda tem que construí-los a partir da linha cmd, mas isso não é realmente muito complicado. Não tenho certeza sobre o Vista ... - DMA57361
É ainda pior A versão XP do NTFS suporta hardlinks, mas estes não podem abranger volumes. Obviamente, eu queria mover os dados para uma partição diferente. - maaartinus
Hardlinks não podem sempre volumes de extensão, somente os links simbólicos podem (e podem ser usados ​​para esse tipo de coisa, minhas pastas de usuário são todas ligadas por links ao meu segundo HDD, por exemplo). Mas, pessoalmente, eu ainda evitaria hardlinks no XP (mesmo que fossem uma opção). - DMA57361


Respostas:


Se você quer MOVER toda sua VM para um local totalmente novo, você deve seguir estas 2 respostas:

Copiando a postagem aqui:

  1. Encerre o VirtualBox, faça o backup do seu arquivo .VirtualBox \ VirtualBox.xml.
  2. Encontre a sua pasta "Virtualbox VMs" existente e copie (não mova) a pasta inteira com o conteúdo para sua nova unidade E:
  3. Execute o VirtualBox e, em seguida, para cada VM, por sua vez:

    3.1 Clique com o botão direito do mouse no nome da VM e selecione "Remover" no menu pop-up. Responda não ao "fisicamente excluir arquivos?" questão.

    3.1b depois de remover uma VM da interface do usuário você tem que fechar o VirtualBox, e   deixá-lo fechado por tempo suficiente para a tarefa de fundo VBoxSVC para   tempo limite e terminar também. Então você pode iniciar o aplicativo VirtualBox   novamente e use o Machine | Add para adicionar de volta as VMs removidas no   degrau.

    3.2 Selecione o item de menu Machine | Add .., navegue até o novo local das VMs na unidade E: e selecione o arquivo .vbox.

    3.3. Repita para as VMs restantes.

  4. Em Arquivo | Preferências, defina o caminho da máquina padrão como "VMs E: \ VirtualBox"
  5. Teste cada uma das VMs. Somente depois de ter certeza de que todos funcionam, exclua a antiga pasta contendo VM, ou seja, exclua "C: \ VirtualBox VMs".

126



Quando faço isso para uma máquina clone vinculada, eles não conseguem iniciar - Nam G VU
Isso funcionou para mim, embora eu também precisasse atualizar os caminhos para cada disco rígido e imagem instantânea editando .VirtualBox\VirtualBox.xml arquivo, e fazendo um encontrar / substituir. Além disso, eu só mudei o Machines e HardDisk pastas, nem todos os arquivos contidos .VirtualBox, uma vez que é toda a configuração global e log e tal. - Dave Andersen
Para usuários do Mac OS X, VirtualBox.xml está localizado na ~/Library/VirtualBox/VirtualBox.xml. As VMs estão localizadas em ~/VirtualBox VMs. - Siu Ching Pong -Asuka Kenji-
O Virtual Box 4.3.0+ resolveu a "Última Coisa Importante", nem precisei fechá-la - instruções. - PCaetano
Talvez você possa adicionar a linha de comando "version" também. 1) Listar VMs existentes via VBoxManage list vms. 2) Ao lado dos nomes das VMs, entre chaves, seus UUIDs são referenciados. Copie o de interesse. Detalhes sobre isso, podem ser recuperados via VBoxManage showvminfo UUID. 3) Cancelar o registro da VM de interesse via VBoxManage unregistervm UUID. 4) Mova o diretório da VM de interesse. 5) Finalmente, registre a máquina via VBoxManage register NameOfVM.vbox - obviamente, onde NameOfVM se refere ao nome real das VMs .vbox arquivo a ser registrado. - Nikos Alexandris


Eu só tinha algumas VMs, e descobri que poderia apenas alterar o local de armazenamento padrão do VirtualBox e depois clonar as VMs. Os clones foram criados no novo local no novo HD onde eu queria. Tudo intacto, instantâneos e sem necessidade de remapear a localização dos HDs virtuais.


57



Eu acho que esse é o melhor método. VirtualBox move tudo para você em um pequeno pacote arrumado. - Dave Andersen
esta é a melhor maneira, nenhuma edição manual do cfg exigida - Bojan Bjelic
Como você faz isso??? - FlipFloop
Esta realmente deveria ser a resposta aceita - theV0ID
Você poderia postar uma lista de etapas seguidas? - sancho.s


O método mais fácil não requer a remoção de suas máquinas virtuais e a alteração das configurações.

  1. Copie sua pasta Virtualbox VMs para uma nova unidade.

  2. Execute o Gerenciador de Máquina de Caixa Virtual. Execute o gerenciador de mídia Arquivo -> Gerenciador de Mídia Virtual

    2a. Escolha a VM para mover o armazenamento para. Clique no Lançamento botão e, em seguida, o Remover botão. Na próxima caixa de diálogo, você pode remover ou manter a unidade virtual. Feche o gerenciador deixando você no seu Virtualbox Machine Manager.

  3. Selecione a VM para a qual você acabou de remover a mídia, clique no Configurações botão, clique no Armazenamento seção. Adicione um controlador para a mídia (normalmente SATA) e, em seguida, adicione um disco rígido e escolha o disco existente e selecione o VD em seu novo local.

  4. Repita para cada máquina em movimento

Disparar sua máquina virtual no novo local para verificar. Da próxima vez que você visitar o Gerenciador de Mídia Virtual, passando o mouse sobre a entrada da VM, mostrará onde o VD está armazenado.

Certifique-se de alterar suas pastas de instantâneos para apontar para a nova unidade, se estiver usando-as. Cada máquina tem uma configuração de pasta de instantâneo e o gerenciador de VM tem um Pasta Machine padrão estabelecendo Arquivo -> Configurações isso precisa ser mudado também.

Além disso, também tive que modificar o caminho no arquivo xml. Depois disso, funcionou sem falhas.

NOTA: As coisas mudaram um pouco desde que isso foi escrito, veja a resposta de Rob. É extremamente simples agora.


36



Eu acho que esta é de longe a maneira mais fácil de fazer isso. - Peter Perháč


No Mac, edite os caminhos neste arquivo:

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

Isso foi fácil, pronto!


13



Ele está usando o Windows e também não quer editar o VirtualBox.xml. - ChrisN
Isso foi útil para mim, no entanto, uma vez que esta questão ainda é googlable se você estiver no mac. - NReilingh
Eu sou um usuário mac e google me desembarcou aqui e esta solução é a mais simples de todas, faz todo o sentido e trabalhou para mim :) - Mohit Singh
Estou no linux e gostei do som desta resposta, mas fiquei desanimado com o aviso no topo do arquivo. Você ainda recomendaria editar o XML diretamente? O aviso diz: ** NÃO EDITAR ESTE ARQUIVO. Se você fizer alterações neste arquivo enquanto qualquer aplicativo relacionado ao VirtualBox estiver em execução, suas alterações serão sobrescritas posteriormente, sem que isso seja efetivado. Use VBoxManage ou o VirtualBox Manager GUI para fazer alterações. ** - craq


MUITO, MUITO MAIS SIMPLES. 1) mudar para novo local 2) Clique com o botão direito do mouse no menu virtualbox 3) Selecione "adicionar" no menu da máquina 4) Encontre o ícone 8kb Blue que possui um tipo de 'definição de máquina virtualbox'. Selecione-o e ele será adicionado à sua lista de caixas virtuais. clique duas vezes na máquina virtual e ela funciona.


12



Ainda mais simples do que isso é quando você deseja adicionar as VMs de volta ao VirtualBox, basta clicar no *.vbox arquivo em sua pasta. - Joel Mellon
Como as coisas mudam em três anos ... O desejo tinha sido tão fácil naquela época. Adicionado nota à minha resposta para eles virem ver este. - Fiasco Labs
Isso deve ser realmente mais alto. Eu brinquei e não consegui fazer funcionar. Basta remover os "inacessíveis" na interface do usuário e clicar duas vezes no arquivo .vbox para adicioná-lo novamente usando o novo local. - wenbert
Não funciona no host Linux. Obtendo este erro: A sessão da VM foi fechada antes de qualquer tentativa de ligá-la. Código do resultado: NS_ERROR_FAILURE (0 x 80004005) Componente: Interface SessionMachine: ISession {7844aa05-b02e-4cdd-a04f-ade4a762e6b7} - Max N


Depois de desperdiçar um dia inteiro com esse problema (usando o VirtualBox 5.0.12 no Arch Linux), finalmente consegui resolvê-lo da maneira sugerida pela resposta. Para aqueles que não têm certeza sobre o procedimento exato, o comando que clona uma máquina inteira (incluindo snapshots) é:

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

Obtenha o nome da VM com

VBoxManage list vms

Se necessário, cite caminho e nome.

Finalmente, verifique se tudo está bem e remova o original.

Isso é tudo, realmente. Não há necessidade de se preocupar com arquivos xml ou um editor hexadecimal. Não há necessidade de usar uma GUI.

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


9



Essa foi a única resposta que funcionou para mim. Deve ser mais alto. - Max N
VM_to_clone é o UUID ou o nome da VM. Com o comando fornecido (usando um UUID), um diretório foi criado em /new/path/_<UUID>_ Clonee os arquivos contidos também usados _<UUID>_ Clone como nome. Para ter explicitamente um nome melhor, use o --name "Your preferred name here" bandeira. - Rob W
... e para remover a VM original através do CLI, VBoxManage unregistervm UUID (UUID da VM obtida por você VBoxManage list vms, não use o nome da VM, porque se você usar --name para preservar o nome original, você tem várias VMs com o mesmo nome) - Rob W


Para fazer o mesmo que em Lucas Pottersky responda mas através da linha de comando (no Windows substituir vboxmanage com VBoxManage.exe):

  1. Listar todas as máquinas virtuais:

    vboxmanage list vms
    

    ou apenas em execução:

    vboxmanage list runningvms
    

    qual para cada máquina produz o nome e o UUID.

    Siga os seguintes passos para cada máquina que você irá mover.

  2. Graciosamente desligá-lo:

    vboxmanage controlvm UUID acpipowerbutton
    
  3. Cancelar o registro:

    vboxmanage unregistervm UUID
    
  4. Mova a pasta da máquina virtual para o novo local.

  5. Registre-o de volta, fornecendo caminho para .vbox Arquivo:

    vboxmanage registervm /path/to/machine.vbox
    

4