Mova e clone máquinas VirtualBox com comandos do sistema de arquivos

Mova e clone máquinas VirtualBox com comandos do sistema de arquivos

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 exportcomando. O dispositivo resultante pode então ser importado usando o recurso GUI Import Appliance ou o vboxmanage importcomando.

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.

informação relacionada