Administrando VMs

La virtualización hoy por hoy se ha convertido en la herramienta más usada por las organizaciones y usuarios comunes, ya que los ahorros en costes son bastante significativos, sin mencionar que es más fácil hacerle un respaldo, sincronización o clonación a una VM que a un servidor o equipo físico.
Ahora ya podemos virtualizar prácticamente todo; desde un servidor o PC, hasta un smarthphone o una red de datos, sin embargo manejar un pool de VMs incrustadas en un servidor o en puntos remotos no es tan sencillo y su administración puede causar bastantes dolores de cabeza. Y si le sumamos a esto que nuestro equipo no tiene entorno gráfico, o sí lo tiene pero los recursos son escasos, se puede crecer el enano. Es por eso que algunos administradores IT prefieren solucionar estas limitaciones "a la antigua", echando mano de la vieja consola.
Así las cosas, podremos instalar nuestras máquinas virtuales directamente desde el terminal, y arrancarlas con el inicio del sistema, lo cual en ocaciones nos proporciona ciertas libertades, ya que podemos modificar el funcionamiento de las VMs a nuestro antojo. Es por eso que daremos algunos tips para poder sortear estas dificultades, utilizando VirtualBox de Oracle, por tener calificación BBB (Bueno, Bonito y Barato)
Instalación
El primer paso es instalar Virtualbox 4x y crear la VM. Por consola, lea el excelente tutorial Integración Contínua: Instalar y configurar nuestra máquina virtual con VirtualBox, por consola.
No olviden que después de instalado y creadas las VMs, instalar Guest Additions y adicionar el usuario al grupo vboxusers.
sudo adduser usuario vboxusers
Donde "usuario" es el nombre de tu usuario. Para verificarlo ejecuta en el terminal echo $USER
Si ya la tiene instalada y su VM creada, aquí algunos parámetros que debe considerar. En el siguiente ejemplo, vamos a asumir que tenemos dos VM; una llamada 7 (Windows 7) y otra Kali (Kali Linux). Para conocer los detalles de nuestras VMs ejecutamos en el terminal:
VBoxManage list vms
"7" {a14763d0-8135-4ed8-a794-4555aa307b8d}
"kali" {0cc560a6-c41c-43f7-aa8a-b9d264432e4c}
Pero si quiere conocer los parámetros específicos de las VMs
VBoxManage list vms -l
Comandos más usados 
VBoxManage startvm VM (iniciar)
user@user:~$ VBoxManage startvm 7
Waiting for VM "7" to power on...
VM "7" has been successfully started.
o
user@user:~$ VBoxManage startvm a14763d0-8135-4ed8-a794-4555aa307b8d
Waiting for VM "a14763d0-8135-4ed8-a794-4555aa307b8d" to power on...
VM "a14763d0-8135-4ed8-a794-4555aa307b8d" has been successfully started
El comando controlvm tiene varios estados (pause|resume|reset|poweroff|savestate); por ejemplo:
VBoxManage controlvm 7 reset (reinicio)
VBoxManage controlvm 7 poweroff (apagado)
user@user:~$ VBoxManage controlvm 7 poweroff
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
VBoxManage controlvm 7 pause (pausar VM)
VBoxManage controlvm 7 resume (Reiniciar VM de la pausa)
VBoxManage controlvm 7 savestate (guardar el estado actual de la VM)
user@user:~$ VBoxManage controlvm 7 savestate
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
Y para restablecerla nuevamente
VBoxManage startvm 7
Waiting for VM "7" to power on...
VM "7" has been successfully started
VBoxManage modifyvm 7 parametro (para modificar la VM)
VBoxManage createvm –name “7” –register (Crear VM)
Por terminal se puede hacer prácticamente todo. Crear la VM, clonarla, arrancarla, apagarla, reiniciarla, suspenderla, configurarla, etc, etc. Para profundizar en este tema, visite la guía de VirtualBox.
Administración
El siguiente paso es administrar nuestras VMs sin utilizar el entorno gráfico y una de las mejores alternativas es phpvirtualbox.
Pasos
Instalamos los paquetes necesarios
sudo apt-get install php5 php5-common php5-cli libapache2-mod-php5 php5-mcrypt mysql-server php5-mysql apache2 php-soap php5-gd
Asegúrese de tener instalado las cabeceras del kernel y dependencias
sudo apt-get install linux-headers-$(uname -r)
sudo apt-get autoremove
sudo apt-get install build-essential module-assistant dkms
Ahora adicionamos nuestro usuario...
sudo nano /etc/default/virtualbox
... y añadimos la linea (donde 'user' es nuestro usuario. Cámbielo por el suyo)
VBOXWEB_USER=user
Y reiniciamos los servicios
update-rc.d vboxweb-service defaults
/etc/init.d/vboxweb-service start
Luego verifique el estado
sudo /etc/init.d/vboxdrv status
VirtualBox kernel modules (vboxdrv, vboxnetflt, vboxnetadp, vboxpci) are loaded.
Y si hay problemas, ejecute
sudo /etc/init.d/vboxdrv setup
Verifique el funcionamiento de su apache y base de datos. Para este paso debe haber configurado antes Apache + PHP + MySql.
http://localhost/info.php
o
http://ipdelservidor/info.php
Ahora descargamos phpvirtualbox, descomprimimos y creamos la carpeta (verifique en el portal oficial si la versión ha sido actualizada. En ese caso cambie 4.3-3 por la más reciente)
sudo mkdir /var/www/html/phpvirtualbox
cd /tmp/
sudo wget -c --retry-connrefused -t 0 http://downloads.sourceforge.net/project/phpvirtualbox/phpvirtualbox-4.3-3.zip
sudo unzip phpvirtualbox-4.3-3.zip sudo cp -R phpvirtualbox-4.3-3/* /var/www/html/phpvirtualbox/ sudo rm -R phpvirtualbox-4.3-3* cd
Copiamos y modificamos el archivo de configuración
sudo cp /var/www/html/phpvirtualbox/config.php-example /var/www/html/phpvirtualbox/config.php
sudo nano /var/www/html/phpvirtualbox/config.php
Y cambiamos usuario y contraseña
/* Username / Password for system user that runs VirtualBox */
var $username = 'vbox';
var $password = 'pass';
Nota: Si no quiere crear un usuario nuevo llamado 'vbox', puede cambiarlo por el nombre de su usuario y password actual del sistema con tan solo sustituir 'vbox' y 'pass'.
PHPVirtualBox
Finalmente accedemos a PHPVirtualBox por el navegador (podemos utilizar localhost, si estamos en el mismo equipo o la ip del servidor, si accedemos desde una ubicación diferente)...
http://ipdelservidor/phpvirtualbox/
http://localhost/phpvirtualbox/
Para cambiar el usuario y pass por default de phpvirtualbox (admin/admin), una vez ingresado a PhpVirtualBox, pulsamos File y Change Password. Ahí colocamos la contraseña anterior (admin) y la nueva.
Extra
Verificar el soporte 3D (para Unity y otros entornos), ya que la VM puede ralentizarse.
sudo /usr/lib/nux/unity_support_test -p
Para solucionarlo instale Guest Additions. También puede modificar la resolución, verificando primero si la deseada esta soportada
sudo xrandr
Y para las ediciones sin entorno gráfico, cambiar la resolución por defecto (800x600) con:
sudo apt-get install virtualbox-guest-dkms
VBoxManage setextradata global GUI/MaxGuestResolution any
Para conocer los errores más frecuentes, visite  Sourceforge 
No olviden fortificar el servidor apache para evitar contratiempos
PHPVirtualbox 5x
PHPVirtualbox ha actualizado su version a 5x al igual que VirtualBox. Es importante señalar que las versiones 4x de PHPVirtualbox no son compatibles con Virtualbox 5x. Debe actualizar su version:
echo "Pasos para instalar PHPVirtualbox 5x"
echo "acceda por http://ipdelservidor/phpvirtualbox/ o http://localhost/phpvirtualbox/"
sudo mkdir /var/www/html/phpvirtualbox
cd /tmp/
wget -c --retry-connrefused -t 0 http://downloads.sourceforge.net/project/phpvirtualbox/phpvirtualbox-5.0-2.zip'
unzip phpvirtualbox-*.zip
sudo cp -R phpvirtualbox-* /var/www/html/virtualbox
sudo rm -R phpvirtualbox-*
cd
sudo cp /var/www/html/phpvirtualbox/config.php-example /var/www/html/phpvirtualbox/config.php
Ahora cree y edite el archivo de configuración virtualbox y le ingresa los siguientes datos (donde "usuario" es la cuenta donde está instalando PHPVirtualbox):
sudo nano /etc/default/virtualbox
VBOXWEB_USER=usuario
VBOXWEB_HOST=127.0.0.1
Y modifique el archivo config.php con la siguiente informacion:
sudo nano /var/www/html/phpvirtualbox/config.php
var $username = 'usuario'; # el mismo usuario de /etc/default/virtualbox
var $password = 'su_password'; # su password de usuario
var $location = 'http://127.0.0.1:18083/';
Y reinicie:
sudo update-rc.d vboxweb-service defaults
sudo /etc/init.d/vboxweb-service start
Importante

Puede presentarse el caso de que vboxweb-service no inicie (mensaje Fail o Could not connect to host (http://127.0.0.1:18083/)). En este caso, el culpable es vboxwebsrv
1. Verifique que SELinux no esté bloqueando el acceso a vboxwebsrv 
2. Haga un ps ax | grep vboxwebsrv para verificar si esta corriendo. Si no lo está, ejecute sudo vboxwebsrv >nul &
o puede correrlo en background
/usr/lib/virtualbox/vboxwebsrv --background
3. Si recibe un error (/var/log/apache2/error.log) similar a:
[evasive20:error] [pid 4697] [client 127.0.0.1:37310] client denied by server configuration: /var/www/html/phpvirtualbox/endpoints/api.php etc etc
Es posible que el módulo mod_evasive de apache y está bloqueando phpvirtualbox. Siga los siguientes pasos:
1. Verifique si mod_evasive está activo. Abra el terminal y ejecute el siguiente comando:
perl /usr/share/doc/libapache2-mod-evasive/examples/test.pl
si el módulo evasive esta inactivo muestra:
HTTP/1.1 200 OK
HTTP/1.1 200 OK
HTTP/1.1 200 OK
HTTP/1.1 200 OK
si esta activo muestra:
HTTP/1.1 403 Forbidden
HTTP/1.1 403 Forbidden
HTTP/1.1 403 Forbidden
HTTP/1.1 403 Forbidden
Si no está activo, vaya al paso 2. Si está activo, desactivelo y luego vaya al paso 2.
sudo a2dismod evasive
2. Edite los archivos:
/etc/apache2/mods-available/evasive.conf
/etc/apache2/mods-enabled/evasive.conf
Y asegúrese de se encuentren las líneas:
   DOSLogDir "/var/log/apache2/mod_evasive.log" # registro de eventos
   DOSWhitelist 127.0.0.1 # excluir localhost (Puede agregar mas ips)
3. Guarde los cambios, active el módulo y reinicie apache:
sudo a2enmod evasive
sudo /etc/init.d/apache2 force-reload
A partir de la versión 15.04 se solucionó el bug Kernel Service is not Running, por tanto ya no es necesario iniciar /etc/init.d/vboxdrv

A continuación la instalación paso a paso PHPVirtualbox 5x para Ubuntu 16.04x (Xenial Xerus) LTS x64VirtualBox 5x + ExtensionApache2PHP7
Instalando Apache2
Asumiendo que ya tiene instalado las cabeceras (headers, build-essential module-assistant dkms, etc), instale Apache2..
sudo apt -y install apache2 apache2-doc apache2-utils apache2-dev apache2-suexec-pristine libaprutil1 libaprutil1-dev
Edite /etc/apache2/apache2.conf y asegúrese de que contenga la siguiente información:
# Include the virtual host configurations:
IncludeOptional sites-enabled/*.conf
ServerName localhost
ServerName gateproxy # el nombre de su servidor
ServerName 192.168.1.10 # la ip de su servidor
Modifique /etc/apache2/sites-enabled/000-default.conf y asegúrese de que contenga la siguiente información:
< VirtualHost *:80>
 ServerAdmin webmaster@localhost
 DocumentRoot /var/www/html

 < Directory />
  #Options FollowSymLinks
  Options None
  DirectoryIndex index.php index.html index.htm
  AllowOverride None
 < /Directory>
 < Directory "/var/www/html">
        AuthType Basic
        AuthName "Restricted Content"
        AuthUserFile /etc/apache2/.htpasswd
        Require valid-user
    < /Directory>

 ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
 < Directory "/usr/lib/cgi-bin">
  AllowOverride None
  Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
         Require all granted
 < /Directory>
 LogLevel warn
 ErrorLog ${APACHE_LOG_DIR}/error.log
 CustomLog ${APACHE_LOG_DIR}/access.log combined
< /VirtualHost>
# vim: syntax=apache ts=4 sw=4 sts=4 sr noet
Establezca la contraseña de apache2 para su usuario
sudo htpasswd -c /etc/apache2/.htpasswd $USER
Instalando y configurando Virtualbox con Extension Pack
echo "deb http://download.virtualbox.org/virtualbox/debian $(lsb_release -sc) contrib" | sudo tee /etc/apt/sources.list.d/virtualbox.list
wget -q https://www.virtualbox.org/download/oracle_vbox_2016.asc -O- | sudo apt-key add -
vboxmanage list runningvms | sed -r 's/.*\{(.*)\}/\1/' | xargs -L1 -I {} VBoxManage controlvm {} savestate >/dev/null 2>&1
sudo apt -y autoremove --purge virtualbox* >/dev/null 2>&1
sudo rm -rf /etc/vbox >/dev/null 2>&1
sudo apt update && sudo apt -y install virtualbox-5.0 bridge-utils && sudo dpkg --configure -a && sudo apt -f install
cd /tmp
export VBOX_VER=`VBoxManage --version|awk -Fr '{print $1}'`
sudo VBoxManage extpack uninstall "Oracle VM VirtualBox Extension Pack" >/dev/null 2>&1
wget http://download.virtualbox.org/virtualbox/$VBOX_VER/Oracle_VM_VirtualBox_Extension_Pack-$VBOX_VER.vbox-extpack
sudo VBoxManage extpack install Oracle_VM_VirtualBox_Extension_Pack-$VBOX_VER.vbox-extpack
cd
sudo usermod -a -G vboxusers $USER
sudo systemctl enable vboxweb-service
sudo systemctl start vboxweb-service
Instalando PHP7
Antes de instalar, se recomienda encarecidamente eliminar cualquier versión anterior de php. No se recomienda por el momento usar PHPVirtualbox php 7.1, solo con PHP 7.0.15-0.
Desinstalar versione previas php...
sudo apt install php libapache2-mod-php
sudo a2dismod php5
sudo a2dismod mpm_event
sudo a2enmod mpm_prefork
sudo apt purge libapache2-mod-php php 'php5*'
sudo apt purge php*
sudo apt autoremove
Use el repositorio de ondrej si falta algún paquete:
sudo add-apt-repository ppa:ondrej/php --yes
sudo apt update
Instalando paquetes necesarios de PHPVirtualbox...
sudo apt -y install language-pack-en-base
sudo apt -y install php7.0 php7.0-common php7.0-mysql libmcrypt-dev mcrypt php7.0-mcrypt php7.0-gd php7.0-xml php-xml php-xml-parser php7.0-curl php7.0-soap libapr1 libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldap php7.0-dev php-pear php-gettext libapache2-mod-php7.0 php7.0-json php7.0-cgi php7.0-mbstring php7.0-fpm php-xdebug php7.0-cli php7.0-bz2 php7.0-intl && sudo apt -f install
sudo a2enmod php7.0
Instalando PHPVirtualbox...
sudo mkdir -p /var/www/html/phpvirtualbox
cd /tmp/
sudo wget -c http://downloads.sourceforge.net/project/phpvirtualbox/phpvirtualbox-5.0-5.zip
sudo unzip phpvirtualbox-5.0-5.zip
sudo cp -R phpvirtualbox-5.0-5/* /var/www/html/phpvirtualbox/
sudo rm -R phpvirtualbox-5.0-5*
cd
sudo cp /var/www/html/phpvirtualbox/config.php-example /var/www/html/phpvirtualbox/config.php
sudo chown -R www-data:www-data /var/www/html/phpvirtualbox
Edite /var/www/html/phpvirtualbox/config.php y realice los siguientes cambios (se recomienda usar el mismo usuario y contraseña establecida para apache2, que puede ser la misma de su usuario de linux):
/* Username / Password for system user that runs VirtualBox */
var $username = 'vbox'; # Reemplace vbox por su usuario
var $password = 'pass'; # Reemplace pass por su contraseña
// Disable authentication
var $noAuth = true; # Descomente esta línea
Cree el archivo /etc/default/virtualbox y agregue la siguiente información:
VBOXWEB_USER=vbox # Reemplace vbox por su usuario
VBOXWEB_HOST=localhost
VBOXWEB_AUTH_LIBRARY=null
Cree el archivo /etc/apache2/sites-enabled/phpvbox.conf y agregue la siguiente información (el puerto 11600 es un ejemplo. Puede ser cualquier puerto que elija siempre que no sea reservado):
< VirtualHost *:11600>
 ServerAdmin webmaster@localhost
 DocumentRoot /var/www/html/phpvirtualbox
 < Directory />
  Options FollowSymLinks
  DirectoryIndex index.php index.html index.htm config.php
  AllowOverride None
 < /Directory>
 < Directory /var/www/html/phpvirtualbox/>
  AuthType Basic
        AuthName "Restricted Content"
        AuthUserFile /etc/apache2/.htpasswd
        Require valid-user
 < /Directory>

 ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
 < Directory "/usr/lib/cgi-bin">
  AllowOverride None
  Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
         Require all granted
 < /Directory>
 ErrorLog ${APACHE_LOG_DIR}/error.log
 # Possible values include: debug, info, notice, warn, error, crit,
 # alert, emerg.
 LogLevel warn
 CustomLog ${APACHE_LOG_DIR}/access.log combined
< /VirtualHost>
Edite /etc/apache2/port.conf y agregue la siguiente información:
# PHPVBOX
Listen 11600
Reinicie los servicios
sudo systemctl restart apache2.service && sudo systemctl restart vboxweb-service
Edite su firewall y abra los puertos TCP 11600,18083 para su interfaz de red local y reinicie. Ejemplo de regla iptables. Modifique los datos en dependencia de su red local (eth1= interfaz local y 192.168.1.0/24= rango y mascara)
/sbin/iptables -A INPUT -s 192.168.1.0/24 -i eth1 -p tcp -m multiport --dports 11600,18083 -j ACCEPT
Cree un script vigilante de vboxwebsrv (sudo touch /etc/init.d/vboxweb.sh), establezca su propiedad (sudo chown root:root /etc/init.d/vboxweb.sh), dele permisos de ejecución (sudo chmod +x /etc/init.d/vboxweb.sh) y agregue la siguiente información:
#!/bin/bash
### BEGIN INIT INFO
# Provides:          services reload
# Required-Start:    $remote_fs $syslog
# Required-Stop:     $remote_fs $syslog
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Start daemon at boot time
# Description:       Enable service provided by daemon.
### END INIT INFO
# VBOXWEBSERV
 date=`date +%d/%m/%Y" "%H:%M:%S`
 if [[ `ps -A | grep vboxwebsrv` != "" ]];then
 echo -e "\nONLINE"
 else
 echo -e "\n"
 sudo -H -u vbox bash -c '/usr/lib/virtualbox/vboxwebsrv --background'
 fi
Programe vboxweb.sh en el cron cada 2 minutos (puede modificar el tiempo)
sudo crontab –e
*/02 * * * * /etc/init.d/vboxweb.sh
Acceda a sus VMs: http://192.168.1.10:11600 (en dependencia de la ip de su servidor) o http://localhost:11600 o http://localhost/phpvirtualbox/
Debe ingresar el usuario y la contraseña de su sistema, o la que eligió en el proceso de instalación. Si esta falla (algo muy común) ingrese con el usuario root y la contraseña de su sistema:
Importante:
En los archivos phpvbox.conf 000-default.conf, por razones de publicación, se le a dado un espacio a las etiquetas que comienzan con <. Ejemplo: < /Directory>, cuando debería ser </Directory>, < VirtualHost *:11600> cuando debería ser <VirtualHost *:11600>
Para los que usan Virtualbox 5.1x, es probable que salga el siguiente mensaje:
Esto es solo una advertencia de que se requiere actualizar a phpVirtualbox 5.1x (pero a la fecha de publicación de este post, no existe esta versión de phpVirtualbox. Va por la 5.0-5). Este mensaje no afecta el funcionamiento del aplicativo web.
Iniciando VMs automáticamente con el sistema
Cree el script vm (sudo touch /etc/init.d/vm), establezca su propiedad (sudo chown root:root /etc/init.d/vm), dele permisos de ejecución (sudo chmod +x /etc/init.d/vm) y agregue la siguiente información:
Reemplace tu_usuario por el nombre de su usuario y my_vm_name por el nombre de su máquina virtual. Tenga especial cuidado con el uso de mayúsculas y minúsculas. Si tiene alguna duda sobre el nombre de su VM, puede reemplazarlo con el UUID (ej: VMNAME="4ec6acc1-a232-566d-a040-6bc4aadc19a6")
Tenga en cuenta que la cabecera del script debe quedar tal cual. No la modifique ni le agregue nada. Esta cabecera se basa en Linux Standard Base Core Specification (LSB headers), para que funcione correctamente con el comando update-rc.d y sus Runlevels.
#!/bin/bash
### BEGIN INIT INFO
# Provides:          vm
# Required-Start:    $local_fs $remote_fs $network $syslog $named
# Required-Stop:     $local_fs $remote_fs $network $syslog $named
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: starts vm
# Description:       starts vm using start-stop-daemon
### END INIT INFO

# how to use:  /etc/init.d/vm {start|stop|shutdown|reset|status}
# Permissions:  sudo chmod +x /etc/init.d/vm
# update-rc.d add:  sudo update-rc.d vm defaults 99 01
# remove:   sudo update-rc.d -f vm remove
# confirm update-rc.d: ls -al /etc/rc?.d/ | grep vm
# add user vboxusers: sudo usermod -a -G vboxusers $USER # where $USER is your user

VMUSER="tu_usuario"
VMNAME="my_vm_name" # also you can put UUID in this variable (VMNAME="4ec6acc1-a232-566d-a040-6bc4aadc19a6")

case "$1" in
    start)
        echo "Starting $VMNAME..."
        sudo -H -u $VMUSER VBoxManage startvm "$VMNAME" --type headless
        ;;
    stop)
        echo "Saving State $VMNAME..."
     sudo -H -u $VMUSER VBoxManage controlvm "$VMNAME" savestate
      sleep 20
        ;;
    shutdown)
        echo "Shutting Down $VMNAME..."
        sudo -H -u $VMUSER VBoxManage controlvm "$VMNAME" acpipowerbutton
      sleep 20
        ;;
    reset)
        echo "Resetting $VMNAME..."
        sudo -H -u $VMUSER VBoxManage controlvm "$VMNAME" reset
        ;;
    status)
        echo -n "VMNAME->";sudo -H -u $VMUSER VBoxManage showvminfo "$VMNAME" --machinereadable |grep "VMState="| cut -d "=" -f2
        exit 1
        ;;
esac
exit 0
Agregue la tarea para que su vm sea lo primero que inicie con el sistema y lo último que se cierre:
sudo update-rc.d vm defaults 99 01
Es posible que no salga nada en pantalla, por tanto es prudente verificar si el arranque fue agregado:
ls -al /etc/rc?.d/ | grep vm
lrwxrwxrwx   1 root root    12 ago 15 12:38 K01vm -> ../init.d/vm
lrwxrwxrwx   1 root root    12 ago 15 12:38 K01vm -> ../init.d/vm
lrwxrwxrwx   1 root root    12 ago 15 12:38 S04vm -> ../init.d/vm
lrwxrwxrwx   1 root root    12 ago 15 12:38 S04vm -> ../init.d/vm
lrwxrwxrwx   1 root root    12 ago 15 12:38 S04vm -> ../init.d/vm
lrwxrwxrwx   1 root root    12 ago 15 12:38 S04vm -> ../init.d/vm
lrwxrwxrwx   1 root root    12 ago 15 12:38 K01vm -> ../init.d/vm
Para iniciar o parar la VM manualmente, ejecute en el terminal:
sudo /etc/init.d/vm start
sudo /etc/init.d/vm stop
Las opciones son: start|stop|shutdown|reset|status
Para iniciar las VMs en Windows podemos consultar el post "VirtualBox: arrancando y controlando máquinas virtuales “sin cabeza” (GUI)"
Con la tecnología de Blogger.