Inicio / Blog's y documentación / Blogs / jmedina

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.

Este es mi blog personal en Compugraf, el objetivo es que sirva como una bitácora con experiencias, tips, noticias relacionadas al software libre y GNU/Linux. Me pueden contactar en:

E-mail: jmedina[aRR0Ba]e-compugraf.com

IM (MSN/Gtalk): jmedina[aRR0Ba]e-compugraf.com

Mis Galerias

Lun Mar Mié Jue Vie Sáb Dom
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30