Conheço 2 maneiras de clonar uma máquina VirtualBox em um host Linux, uma é usando a interface do VirtualBox e exportando e reimportando como dispositivo (no menu de arquivo do VirtualBox).
A outra é clonar apenas os arquivos do contêiner do disco virtual:
VBoxManage clonevdi /mnt/md1/original/root-fs.vdi /mnt/md1/cloned/root-fs.vdi
(Tirado dehttp://forums.virtualbox.org/viewtopic.php?p=853#p858)
Editar: isso parece não funcionar para arquivos VDI que já fazem parte de ~/VirtualBox/VirtualBox.xml, recebo uma mensagem de erro:
ERRO: Não é possível registrar o disco rígido '/mnt/md1/original/root-fs.vdi' com UUID {96a1462b-c30a-4911-a954-d9093122f083} porque um disco rígido '/mnt/md1/original/root-fs. vdi' com UUID {96a1462b-c30a-4911-a954-d9093122f083} já existe no registro de mídia ('/home/mit/.VirtualBox/VirtualBox.xml')
Eu teria que criar uma nova VM posteriormente e usar os contêineres de disco virtual clonados.
Também é possível clonar uma VM copiando os arquivos contianer do disco virtual e os arquivos de configuração usando comandos do sistema de arquivos e fazer o resto manualmente?
Eu teria que editar manualmente o ~/VirtualBox/VirtualBox.xml e inserir um novo disco e uma nova máquina:
Posso apenas criar UUIDs ou como isso funcionaria?
Eu preferiria muito mais esse método hardcore de fazer as coisas, pois me permite fazer backup, restaurar, mover ou clonar máquinas de forma livre e rápida. Ou existe uma maneira melhor de fazer isso?
Responder1
Você pode alterar o UUID de um vdi usando o comando
VBoxManage internalcommands setvdiuuid disk.vdi
ou se você estiver usando VBox V4.x pelo menos até 4.0.10
VBoxManage internalcommands sethduuid disk.vdi
em seguida, use a GUI para importar o novo disco 'exclusivo'.
Se você deseja clonar uma máquina VirtualBox específica, provavelmente é melhor transformá-la em um dispositivo e usá-la. Para fazer um dispositivo usar o recurso GUI Export Appliance ou o vboxmanage export
comando. O dispositivo resultante pode então ser importado usando o recurso GUI Import Appliance ou o vboxmanage import
comando.
Responder2
Ou você pode editar o arquivo de configuração "Virtualbox.xml" com os uuids corretos para o machineid. Funcionou muito bem para mim, movendo uma máquina virtual de um host para outro (ambos os hosts sendo Linux de 64 bits, não faço ideia se funcionou na mudança para, por exemplo, Windows ou Mac).http://sickel.net/blogg/?p=1581para detalhes.
Isso funciona mesmo se o vboxmanager no host original, por algum motivo, não puder ser executado.