Algunas veces requerimos iniciar una maquina virtual desde el shell probablemente porque no tenemos acceso a las X y el unico acceso es por ssh.
Primero usamos el comando VBoxManage para listar las maquinas virtuales registradas:
$ VBoxManage list vms
VirtualBox Command Line Management Interface Version 3.0.12
(C) 2005-2009 Sun Microsystems, Inc.
All rights reserved.
"plantilla-karmic-i386" {a81882fc-04c5-498c-8f40-ef32499b271d}
"mail-karmic-i386" {5769a40f-05e4-44b5-a927-9da75aa6a5fd}a maquina que deseamos iniciar es mail-karmic-i386, para iniciarla usamos el comando VBoxHeadless con la opción –startvm, por ejemplo:
$ VBoxHeadless --startvm mail-karmic-i386 VirtualBox Headless Interface 3.0.12 (C) 2008-2009 Sun Microsystems, Inc. All rights reserved. Listening on port 3389
Para confirmar que la maquina virtual fue iniciada listamos las maquinas virtuales:
$ VBoxManage list runningvms
VirtualBox Command Line Management Interface Version 3.0.12
(C) 2005-2009 Sun Microsystems, Inc.
All rights reserved.
"mail-karmic-i386" {5769a40f-05e4-44b5-a927-9da75aa6a5fd}
Espero que les sirva este tip.
Los discos duros en VirtualBox están registrados con un UUID que lo identificará de forma única, este UUID también esta almacenado internamente en el archivo de imagen.
VirtualBox se negará a trabajar con dos imagenes que usen el mismo UUID, para clonar un disco duro virtual en VirtualBox necesitamos el UUID de la maquina que usaremos como origen.
Listando maquinas virtuales existentes para obtener el UUID:
$ VBoxManage list vms
VirtualBox Command Line Management Interface Version 3.0.12
(C) 2005-2009 Sun Microsystems, Inc.
All rights reserved.
"plantilla-karmic-i386" {a81882fc-04c5-498c-8f40-ef32499b271d}
plantilla-karmic-i386 es el Nombre de la maquina virtual y su respectivo UUID es:
a81882fc-04c5-498c-8f40-ef32499b271d.
Ahora necesitamos obtener el UUID del disco duro de la maquina virtual plantilla-karmic-i386, para obtener el UUID del disco podemos usar:
$ VBoxManage showvminfo plantilla-karmic-i386 | grep vdi Primary master: /media/virtdiscs/VMachines/VirtualBox/HardDisks/plantilla-karmic-i386.vdi (UUID: bf71bfe6-bf26-45fa-8809-bc2428218f0e)
El UUID del disco duro de la maquina virtual es: bf71bfe6-bf26-45fa-8809-bc2428218f0e
Ahora clonamos el disco duro con el comando:
$ VBoxManage clonehd bf71bfe6-bf26-45fa-8809-bc2428218f0e /media/virtdiscs/VMachines/VirtualBox/HardDisks/mail-karmic-i386.vdi VirtualBox Command Line Management Interface Version 3.0.12 (C) 2005-2009 Sun Microsystems, Inc. All rights reserved. 0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100% Clone hard disk created in format 'VDI'. UUID: 7b8d85a8-9598-46ad-b900-8a6dbe547b6c
NOTE el UUID del nuevo disco duro: UUID: 7b8d85a8-9598-46ad-b900-8a6dbe547b6c
Si usted trató de clonar un disco duro virtual de VirtualBox copiando el archivo de imagen con otro nombre tendrá que asignar un nuevo UUID al nuevo archivo, por ejemplo:
$ VBoxManage internalcommands setvdiuuid micopia-karmic-i386.vdi VirtualBox Command Line Management Interface Version 3.0.12 (C) 2005-2009 Sun Microsystems, Inc. All rights reserved. UUID changed to: b833eefd-4b10-4637-80e1-b19c7811b9c9
Ahora registramos el nuevo disco duro virtual:
$ VBoxManage openmedium disk /media/virtdiscs/VMachines/VirtualBox/HardDisks/mail-karmic-i386.vdi VirtualBox Command Line Management Interface Version 3.0.12 (C) 2005-2009 Sun Microsystems, Inc. All rights reserved.
Y por último verificamos que este registrado con:
$ VBoxManage showhdinfo /media/virtdiscs/VMachines/VirtualBox/HardDisks/mail-karmic-i386.vdi VirtualBox Command Line Management Interface Version 3.0.12 (C) 2005-2009 Sun Microsystems, Inc. All rights reserved. UUID: 7b8d85a8-9598-46ad-b900-8a6dbe547b6c Accessible: yes Description: Logical size: 8192 MBytes Current size on disk: 864 MBytes Type: normal (base) Storage format: VDI Location: /media/virtdiscs/VMachines/VirtualBox/HardDisks/mail-karmic-i386.vdi
Para usar este nuevo disco duro use el asistente para crear maquinas virtuales y cuando llegue a la parte en donde tiene que agregar un disco duro elija la opción “use existing virtual disk” y seleccione el disco duro que registro en el paso anterior.
La interfaz de administración predeterminada de las maquinas virtuales creadas en VirtualBox es desde su interfaz gráfica, la cual requiere un entorno gráfico en ejecución, el otro día tuve la necesidad de iniciar una maquina virtual de forma remota desde un shell (ssh), así que hice lo siguiente:
Primero hacemos un listado de las maquinas virtuales existentes:
$ VBoxManage list vms
VirtualBox Command Line Management Interface Version 3.0.4
(C) 2005-2009 Sun Microsystems, Inc.
All rights reserved.
"WinXProES" {32a39637-8193-4aaa-9f8e-e2ecbb309541}
"LiveCD" {8848ba43-823e-4129-8d3e-685e6e45edd6}
"Win2k3-Enterprise-AD" {03ce96fb-2eac-49ae-b78c-63d0d7f3ccc7}
Ahora iniciamos la maquina en modo headless, con:
$ VBoxManage startvm --type headless "Win2k3-Enterprise-AD" VirtualBox Command Line Management Interface Version 3.0.4 (C) 2005-2009 Sun Microsystems, Inc. All rights reserved. Waiting for the remote session to open... Remote session has been successfully opened.
Y podemos ver un listado de las maquinas virtuales en ejecución:
$ VBoxManage list runningvms
VirtualBox Command Line Management Interface Version 3.0.4
(C) 2005-2009 Sun Microsystems, Inc.
All rights reserved.
"Win2k3-Enterprise-AD" {03ce96fb-2eac-49ae-b78c-63d0d7f3ccc7}
Y listo :).
Para detener la maquina virtual desde la consola podemos usar:
$ VBoxManage controlvm "Win2k3-Enterprise-AD" poweroff VirtualBox Command Line Management Interface Version 3.0.4 (C) 2005-2009 Sun Microsystems, Inc. All rights reserved. 0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
Espero que a alguien más les sirva este tip.

Add comment