Nenhuma das respostas acima funcionou para mim. Estou há 2 dias tentando migrar uma máquina Vagrant + VirtualBox de um computador para outro ... É possível!
Primeiro, você precisa entender que a máquina virtual é separada de sua pasta de sincronização / compartilhada. Portanto, quando você embala sua máquina, está embalando-a sem seus arquivos, mas com os bancos de dados.
O que você precisa fazer:
1- Abra o CMD da máquina host do seu computador 1 (Linha de comando. Abra-o como Adminitrator com o botão direito -> "Executar como administrador") e vá para os arquivos instalados do vagrant. No meu caso: C: / VVV Você verá seu Vagrantfile e também estas pastas:
/config/
/database/
/log/
/provision/
/www/
Vagrantfile
...
A pasta / www / é onde tenho minha pasta de sincronização com meus domínios de desenvolvimento. Você pode ter sua pasta de sincronização em outro lugar, apenas certifique-se de entender o que está fazendo. Além disso, / config e / database são pastas de sincronização.
2- execute este comando: vagrant package --vagrantfile Vagrantfile
(Este comando faz um pacote de sua máquina virtual usando a configuração do Vagrantfile.)
Aqui está o que você pode ler na documentação do Vagrant sobre o comando:
Um equívoco comum é que a opção --vagrantfile irá empacotar um Vagrantfile que é usado quando o vagrant init é usado com esta caixa. Este não é o caso. Em vez disso, um Vagrantfile é carregado e lido como parte do processo de carregamento do Vagrant quando a caixa é usada. Para obter mais informações, leia sobre a ordem de carregamento do Vagrantfile.
https://www.vagrantup.com/docs/cli/package.html
Quando terminar, você terá um arquivo package.box.
3- Copie todos esses arquivos (/ config, / database, Vagrantfile, package.box, etc.) e cole-os no seu Computador 2 exatamente onde deseja instalar a sua máquina virtual (no meu caso D: / VVV).
Agora você tem uma cópia de tudo de que precisa no host do seu computador 2.
4- execute isto: vagrant box add package.box --name VVV
(O --name é usado para nomear sua máquina virtual. No meu caso é chamado de VVV) (Você pode usar --force se já tiver uma máquina virtual com este nome e quiser sobrescrevê-la. (Use com cuidado!))
Isso irá descompactar sua nova máquina virtual vagrant.
5- Quando terminar, execute:
vagrant up
A máquina será instalada e você deverá vê-la no "gerenciador de caixa de máquina virtual Oracle". Se você não puder ver a máquina virtual, tente executar a caixa Oracle VM como administrador (clique com o botão direito -> Executar como administrador)
Agora você pode ter tudo certo, mas lembre-se de ver se seus anfitriões são como você esperava:
c:/windows/system32/hosts
6- Talvez seja uma boa ideia copiar o arquivo host do seu Computador 1 para o seu Computador 2. Ou copie as linhas que você precisa. No meu caso, estes são os hosts de que preciso:
192.168.50.4 test.dev
192.168.50.4 vvv.dev
...
Onde 192.168.50.4 é o IP da minha máquina virtual e test.dev e vvv.dev são hosts de desenvolvimento.
Espero que isso possa ajudá-lo :) Ficarei feliz se você enviar um feedback sobre sua escolha.
Algumas particularidades do meu caso que você pode encontrar:
Quando executei o vagrant, houve um problema com o mysql, não estava funcionando. Tive que rodar no servidor virtual (clique com o botão direito na máquina virtual oracle -> Mostrar console):apt-get install mysql-server
Depois disso, executei novamente o vagrant up e estava tudo funcionando, mas sem dados nos bancos de dados. Então eu fiz um mysqldump de todas as tabelas do Computador 1 e carreguei-as no Computador 2.
OUTRAS NOTAS:
Minha máquina virtual não está exatamente no Computador 1 e no Computador 2. Por exemplo, eu fiz há algum tempo uma configuração interna para usar NFS (para acelerar as pastas de sincronização do servidor) e precisei executar novamente este comando no Computador 2 hospedeiro:vagrant plugin install vagrant-winnfsd