¿Sabias que se puede ejecutar Virtualbox desde la terminal en Ubuntu?

Virtualbox dispone de un interprete de comandos que permite la creación de maquinas virtuales directamente por consola.

Pasos para crear una maquina virtual en Virtualbox desde la terminal en Ubuntu

Crear el directorio

Allí se guardará el disco de nuestra VM, la cual para nuestro prueba llamaremos «CafeconD»:

mkdir -p /home/TUUSUARIO/VirtualBox/VMs/CafeconD

Crear disco

Para la creación de un disco de 10Gb utilitzaremos la siguiente orden:

vboxmanage createhd --size 10000 --format vdi --filename /home/TUUSUARIO/VirtualBox/VMs/CafeconD/CafeconD-disk1.vdi

Mostrar tipos SO

Para mostrar los tipos de sistemas operativos disponibles utilizaremos el siguiente comando:

vboxmanage list ostypes

Crear VM

Para la creación de una VM utilizaremos el siguiente comando:

vboxmanage createvm --name CafeconD --register --ostype Ubuntu_64

Añadir Controlador SATA

IMPORTANTE!: Si queremos instalar WindowsXP o alguna versión antigua de Linux que no tenga los drivers SATA mejor instalar un controlador IDE en la máquina o no podremos arrancar la máquina con esta configuración.

Una vez creada la máquina añadimos un adaptador SATA.

vboxmanage storagectl CafeconD --name "Sata Controller" --add sata --controller "IntelAHCI"

Añadir Disco Duro

Luego que tengamos agregado el controlador SATA añadiremos un disco duro Sata a dicho controlador.

vboxmanage storageattach CafeconD --storagectl "Sata Controller" --port 0 --device 0 --type hdd --medium /home/TUUSUARIO/VirtualBox/VMs/CafeconD/CafeconD-disk1.vdi

Añadir Memoria

Especificamos la memoria que necesitamos.

vboxmanage modifyvm CafeconD --memory 1024

Añadir Tarjeta de Red

Añadimos un adaptador de red y lo configuramos como bridged, para que la VM este en la misma red que el host.

vboxmanage modifyvm CafeconD --nic1 NAT

Añadir DVD y cargar ISO

Añadimos un DVD y una ISO para poder empezar con la instalación mas tarde.

vboxmanage storageattach CafeconD --storagectl "Sata Controller" --port 1 --device 0 --type dvddrive --medium /home/TUUSUARIO/Descargas/ubuntu-mate-20.04-desktop-amd64.iso

Mostrar Configuracion VM

Para mostrar la configuración de la máquina que estamos configurando, utilizaremos el siguiente comando:

vboxmanage showvminfo CafeconD
Virtualbox desde la terminal en Ubuntu

Redimensionar Memoria

Para re-dimensionar la memoria RAM de la VM utilizaremos:

vboxmanage modifyvm CafeconD --memory 2048

Configurar VRDE

VRDE, permite conectarnos a las VMs utilizando el Remote Desktop de Virtualbox. El último comando habilita múltiples conexiones. Para habilitar vrde utilizaremos la siguiente configuración:

vboxmanage modifyvm CafeconD --vrde on
vboxmanage modifyvm CafeconD --vrdeaddress localhost
vboxmanage modifyvm CafeconD --vrdeport 3001
vboxmanage modifyvm CafeconD --vrdemulticon on

Instalar EXT-PACK

La instalación del «extension pack» permite añadir las siguientes características a la VM: USB 2.0, Virtualbox RDP y PXE para tarjetas Intel.

vboxmanage -v

Luego de tener la versión descargamos el paquete correspondiente, en mi caso es como sigue pero debes adaptar tu version segun el resultado del comando anterior:

wget -c http://download.virtualbox.org/virtualbox/6.1.10/Oracle_VM_VirtualBox_Extension_Pack-6.1.10-138449.vbox-extpack
vboxmanage extpack install Oracle_VM_VirtualBox_Extension_Pack-6.1.10-138449.vbox-extpack.vbox-extpack

Arrancar una VM headless

Para iniciar una máquina en background sin ningún elemento visible en el foreground.

vboxmanage startvm CafeconD --type headless

Arrancar VM Headless (TROUBLESHOUTING)

Lo mismo que antes pero nos devuelve el prompt. Útil para troubleshouting.

VBoxHeadless -s CafeconD -v on

VRDE server is listening on port 3001.

Conectar por VNC a la maquina

Para conectar a una máquina headless nos aseguramos que este escuchando en el puerto buscando la linea ‘tcp 0 0 127.0.0.1:3001’:

netstat -tanep

Modificamos la contraseña de conexión al VNC, en nuestro caso será cafecondebian:

VBoxManage modifyvm CafeconD --vrdeproperty VNCPassword=cafecondebian

Nos conectamos con un cliente VNC, e ingresamos la contraseña cuando la pida:

xvncviewer 127.0.0.1:3001
Virtualbox desde la terminal en Ubuntu
Virtualbox desde terminal en ubuntu

Mostrar VMs

Para mostrar las máquinas que están registradas:

vboxmanage list vms

Apagar VM

vboxmanage controlvm CafeconD poweroff

Mostrar las VMs encedidas

Muestra las maquinas con el estado en «Running».

vboxmanage list runningvms

Crear Snapshot

Para la creación de un snapshot utilzaremos:

vboxmanage snapshot CafeconD take CafeconD-snap01

Restaurar Snapshot

Para restaurar un snapshot utilizaremos:

vboxmanage snapshot CafeconD restore CafeconD-snap01

Fuentes y mas informacion:

https://www.virtualbox.org/manual/ch08.html
http://networking.ringofsaturn.com/Unix/Create_Virtual_Machine_VBoxManage.php

Espero te sea de ayuda, cualquier duda en los comentarios estaré atento.