virtualbox

Gestionar VirtualBox desde una consola

Gestionar VirtualBox desde una consola

Introducción

En este artículo voy a ir recopilando una lista de comandos útiles a la hora de gestionar máquinas virtuales en Virtualbox. De esta manera podremos arrancar, parar, gestionar y muchas cosas más de las máquinas virtuales desde una consola en el sistema operativo huésped.

Si conocéis de algún comando más me podéis decir para añadirlo. Espero que esta recopilación os sea útil.

Comandos

Generales

Ver el listado de máquinas virtuales que tenemos:

>> VBoxManage list vms

Arrancar una máquina virtual sin que se muestre la ventana:

>> VBoxManage startvm NOMBRE_MAQUINA -type vrdp

Apagar una máquina virtual guardando el estado en la que esta en ese momento:

>> VBoxManage controlvm NOMBRE_MAQUINA savestate

Snapshots

Crear una snapshot (Este comando lo tenemos que ejecutar con la máquina virtual apagada):

>> VBoxManage snapshot NOMBRE_MAQUINA take "NOMBRE_DE_LA_SNAPSHOT"

 

 

Abrir puertos en VirtualBox

Abrir puertos en virtualbox

Abrir puertos

Puede darse el caso de que nos encontremos con la necesidad de tener que acceder a un puerto de nuestra máquina virtual desde el exterior (Por ejemplo, si queremos acceder por ssh a la máquina virtual el puerto 22 tendrá que ser accesible desde el exterior). Para configurar esto no hay de momento forma de hacerlo con la interfaz gráfica de Virtualbox, pero se puede hacer por línea de comandos. Para abrir un puerto al exterior de una máquina virtual (Por ejemplo de nombre windows) tendremos que crear una regla (Por ejemplo, de nombre apache) para abrir un puerto de la máquina virtual (Por ejemplo el 80) para un protocolo (Por ejemplo, TCP) en un puerto de la máquina donde esta instalado el virtualbox (Por ejemplo, el 20080). De esta manera cuando accedamos al puerto que le indiquemos de la máquina que tiene instalado el VirtualBox, estaremos accediendo al puerto indicado de la maquina virtual.

Para hacer esto tendremos que apagar la máquina virtual (apagarlo, no pausarlo). Después ejecutaremos las siguientes ordenes:

  >> VBoxManage setextradata "windows" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/apache/Protocol" TCP
  >> VBoxManage setextradata "windows" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/apache/GuestPort" 80
  >> VBoxManage setextradata "windows" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/apache/HostPort" 20080

Si nos fijamos en cada línea, veremos que ponemos pcnet. Esto es el dispositivo de red que esta usando la máquina virtual para emular una tarjeta de red del tipo que le hemos dicho en la configuración. Dependiendo de un tipo u otro, tendremos que poner una cadena u otra. Los posibles tipos que hay son los siguientes:

  • Intel Network Adapter: e1000
  • PCNet: pcnet
  • ...

Para comprobar que se ha introducido bien podemos listar todas propiedades de la maquina virtual (Por ejemplo para la máquina de nombre windows):

  >> VBoxManage getextradata windows enumerate
    VirtualBox Command Line Management Interface Version 1.5.6_OSE
    (C) 2005-2008 innotek GmbH
    All rights reserved.
    
    Key: GUI/LastWindowPostion, Value: 425,339,644,531,max
    Key: GUI/Fullscreen, Value: off
    Key: GUI/Seamless, Value: off
    Key: GUI/AutoresizeGuest, Value: on
    Key: GUI/LastCloseAction, Value: save
    Key: VBoxInternal/Devices/pcnet/0/LUN#0/Config/apache/Protocol, Value: TCP
    Key: VBoxInternal/Devices/pcnet/0/LUN#0/Config/apache/GuestPort, Value: 80
    Key: VBoxInternal/Devices/pcnet/0/LUN#0/Config/apache/HostPort, Value: 20080

Como podemos observar aparecen las propiedades que hemos introducido.

Problemas

Error get MAC

Al encender la máquina virtual después de haber abierto puertos, nos indica este error:

Configuration error: Failed to get the "MAC" value.
VBox status code: -2103 (VERR_CFGM_VALUE_NOT_FOUND).

Solución

Este error aparece cuando abrimos los puertos indicando una tarjeta de red que no es la que le hemos indicado en la configuración a la máquina (pcnet, e1000, ...). Para solucionarlo tendremos que cambiar la tarjeta de red en la configuración de la máquina virtual por la correspondiente que hayamos puesto al abrir el puerto. O sino borrar los datos del puerto abierto y volverlo a poner para la tarjeta de red correcta. (Para mas información leer la guia de esta página)

Fuente

Configurar los usb en VirtualBox

Los usb en virtualbox

Solo he conseguido hacer funcionar los usb con la ultima versión de VirtualBox (2.2). Tendremos que instalarnos esta versión. De momento no esta en los repositorios de linux, asi que tendremos que ir a la web de VirtualBox y bajarnos el programa para nuestra plataforma. Tendremos que desinstalarlo primero (esto no borrara las máquinas virtuales) y luego instalar la versión que nos hemos bajado.

Comprobamos que nuestro usuario esta en el grupo vboxusers con la siguiente orden:

  >> groups
   adm cdrom floppy audio video ... vboxusers

Si no estamos en ese grupo nos añadimos a el:

  • Vamos al menú de ubuntu Sistema, Administración y seleccionamos usuarios y grupos.
  • Le damos al botón Desbloquear e introducimos nuestra contraseña.
  • Seleccionamos nuestro usuario y le damos a Propiedades.
  • Nos movemos a la pestaña Privilegios del usuario.
  • Activamos la opción Usar VirtualBox y le damos al botón Aceptar.

Después hacemos una copia de los ficheros que vamos a editar:

  >> sudo cp /etc/init.d/mountdevsubfs.sh /etc/init.d/mountdevsubfs.sh.original
  >> sudo cp /etc/fstab /etc/fstab.original

Editamos el fichero /etc/init.d/mountdevsubfs.sh y añadimos las siguiente líneas al final de la funcion do_start ():

  #
  # Magic to make /proc/bus/usb work
  #
  mkdir -p /dev/bus/usb/.usbfs
  domount usbfs "" /dev/bus/usb/.usbfs -obusmode=0700,devmode=0600,listmode=0644
  ln -s .usbfs/devices /dev/bus/usb/devices
  mount ?rbind /dev/bus/usb /proc/bus/usb

Luego vamos al fichero /etc/fstab y añadimos la siguiente línea:

  # USB Virtualbox
  none /proc/bus/usb usbfs devgid=vboxusers,devmode=664

Reiniciamos el ordenador.

Ahora vamos a activar el soporte a las máquinas virtuales que queramos:

  • Abrimos el gestor de máquinas virtuales.
  • Seleccionamos la máquina vitual (a la que queremos activar el soporte de USB) y le damos a Configuración.
  • Nos movemos a USB y activamos las casillas Habilitar el controlador de USB y Enable USB 2.0 (EHCI) Controller.
  • En la misma ventana le damos con el botón derecho al área de texto y seleccionamos Agregar Filtro desde Dispositivo.
  • Nos saldrán una lista de los dispositivos USB conectados a nuestro ordenador. Seleccionamos los que queramos usar en la máquina virtual.
  • Le damos al botón Aceptar.

Cuando estemos ejecutando una máquina virtual podremos activar o desactivar cada uno de los dispositivos. Para ello iremos al menú Dispositivos, Dispositivos USB y marcamos los que queramos usar en cada momento.