Crear una nueva máquina en VirtualBox desde la línea de comandos

VirtualBox logoEn SomeBooks.es, tenemos un buen número de artículos sobre la utilización de la interfaz gráfica de VirtualBox (sólo tienes que echar un vistazo al apartado Cómo utilizar Oracle VirtualBox de nuestro libro Introducción a la virtualización). Sin embargo, algo que es muy útil, y que no habíamos explicado hasta ahora, es la posibilidad de administrar VirtualBox desde la línea de comandos.

A priori, puedes pensar que este aspecto no resulta interesante y, por supuesto, tampoco es nada atractivo. Sin embargo, conocer la línea de comandos de VirtualBox nos permitirá realizar tareas como escribir scripts que automaticen ciertas acciones, o administrar de forma remota un servidor que tenga almacenadas diferentes máquinas virtuales.

Para que compruebes que no tiene nada de complicado, hoy te vamos a mostrar cómo crear una nueva máquina virtual desde cero, usando únicamente la línea de comandos. Además, al final veremos también cómo iniciar la instalación del sistema operativo. Así que, si estás listo, comencemos…

Windows logoAunque para nuestro ejemplo vamos a suponer que tienes VirtualBox instalado en un ordenador con Ubuntu, el proceso es completamente equivalente en un ordenador que disponga de cualquier versión reciente de Windows.

Obtener la lista de los sistemas operativos soportados

Puedes abrir la ventana de terminal usando la combinación de teclas Alt + Control + T.

Igual que en la interfaz gráfica, cuando creamos una máquina virtual necesitamos indicarle el sistema operativo que va a contener. Pero, lo primero será averiguar cuáles soporta la versión de VirtualBox que tengamos instalada y cómo los identifica.

Para lograrlo, sólo tenemos que abrir una ventana de terminal y escribir el siguiente comando:

VBoxManage list ostypes

En nuestro caso, como crearemos una máquina virtual para Ubuntu con arquitectura de 64 bits, comprobamos que su identificador es ubuntu_64. Este es el valor que debemos recordar para después.

Crear-una-nueva-máquina-en-VirtualBox-desde-la-líena-de-comandos-001

Como puedes ver, la sintaxis es muy sencilla. Usamos el comando VBoxManage, enviándole el argumento list para que muestre los tipos de sistemas operativos.

Es bueno que te familiarices con el comando VBoxManage, porque lo utilizaremos para realizar prácticamente todo el trabajo.

Crear la máquina virtual

Una vez que sabemos cómo identificar al sistema operativo que queremos instalar, estamos listos para crear la máquina virtual. Lo haremos con el siguiente comando:

 VBoxManage createvm --name Ubuntu --register --ostype ubuntu_64

En la salida del comando observamos que ha funcionado de forma correcta y obtenemos la ruta donde se ha creado la máquina virtual nueva.

Crear-una-nueva-máquina-en-VirtualBox-desde-la-líena-de-comandos-002

Con esta orden, habremos creado el archivo xml que define la nueva máquina virtual. El parámetro –name permite indicar un nombre para la nueva máquina, mientras que el parámetro –register permite importar dicho archivo en VirtualBox. Por último, con –ostype indicamos el tipo de máquina virtual que estamos creando (el dato obtenido en el punto anterior.

Añadir un disco duro virtual a la nueva máquina

En este caso, deberemos realizar tres operaciones diferentes:

  1. Lo primero será asignar un nuevo controlador de disco. Este objetivo lo completaremos con la siguiente orden:
    VBoxManage storagectl Ubuntu --name "Controlador SATA" --add sata --controller IntelAHCI

    En este caso, además de la orden storagectl y el nombre de la máquina virtual, debemos aportar un nombre para el controlador (–name “Controlador SATA”), el tipo de bus al que estará conectado el controlador (–add sata) y el tipo de chipset de deberá emularse (–controller IntelAHCI).

    Si no aparece ningún mensaje, el proceso habrá funcionado correctamente.

    Crear-una-nueva-máquina-en-VirtualBox-desde-la-líena-de-comandos-003

  2. A continuación, crearemos del disco duro virtual. Y para lograrlo, bastará con escribir lo siguiente:
    VBoxManage createhd --filename Ubuntu.vdi --size 51200

    Como puedes ver, basta con incluir la orden createhd seguida del nombre del archivo que contendrá el disco duro (–filename Ubuntu.vdi) y del tamaño que tendrá éste (–size 51200).

    El comando nos indicará el progreso y nos informará del UUID que le ha asignado al disco.

    Crear-una-nueva-máquina-en-VirtualBox-desde-la-líena-de-comandos-004

  3. Por último, conectaremos el disco recién creado al controlador. Y lo lograremos con un nuevo comando:
    VBoxManage storageattach Ubuntu --storagectl "Controlador SATA" --port 0 --device 0 --type hdd --medium Ubuntu.vdi

    En el último paso, utilizamos la orden storageattach, indicando el nombre de la máquina virtual, el nombre del controlador al que lo conectamos (–storagectl “Controlador SATA”), el número de puerto del controlador al que lo conectamos (–port 0), el número de dispositivo en el controlador (–device 0), el tipo de dispositivo de almacenamiento (–type hdd) y, finalmente, el nombre del disco virtual que estamos asignando (–medium Ubuntu.vdi).

    Si no aparece ningún mensaje, el proceso habrá funcionado correctamente.

    Crear-una-nueva-máquina-en-VirtualBox-desde-la-líena-de-comandos-005

Añadir una unidad óptica virtual a la nueva máquina

En este caso, resolveremos la tarea de un modo parecido al anterior, ya que necesitamos definir un nuevo controlador para la unidad óptica. La diferencia es que, en este caso, usaremos una imagen ISO que haga las veces de DVD desde el que instalar el sistema operativo.

En este caso, el controlador que definiremos será de tipo IDE (–add ide) y lo llamaremos Controlador IDE (–name “Controlador IDE”). La orden completa será así:

VBoxManage storagectl Ubuntu --name "Controlador IDE" --add ide

Como antes, si no aparece ningún mensaje, el proceso habrá funcionado correctamente.

Crear-una-nueva-máquina-en-VirtualBox-desde-la-líena-de-comandos-006

Como en este caso el disco ya existe (es la imagen ISO del sistema operativo), nos limitamos a conectarlo al controlador. Y para conseguirlo, volvemos a utilizar la orden storageattach:

 VBoxManage storageattach Ubuntu --storagectl "Controlador IDE" --port 0 --device 0 --type dvddrive --medium /home/usuario/Descargas/Ubuntu.iso

En este caso, el nombre del controlador al que lo conectamos será –storagectl “Controlador IDE”, el tipo de dispositivo de almacenamiento –type dvddrive y el archivo que estamos asignando –medium /home/usuario/Descargas/Ubuntu.iso (que, como ves, incluye la ruta completa).

De nuevo, si no aparece ningún mensaje, el proceso habrá funcionado correctamente.

Crear-una-nueva-máquina-en-VirtualBox-desde-la-líena-de-comandos-007

Ajustar valores de la memoria principal

El siguiente paso será establecer las características de la memoria virtual en cuanto a la memoria RAM que podrá reservar en el anfitrión. Para lograrlo, usaremos el siguiente comando:

VBoxManage modifyvm Ubuntu --memory 2048 --vram 128

En él indicamos la cantidad de memoria RAM (–memory 2048) y la cantidad de memoria de vídeo (–vram 128), ambas medidas en MegaBytes.

De nuevo, si el comando no produce ninguna salida será porque todo ha funcionado correctamente.

Crear-una-nueva-máquina-en-VirtualBox-desde-la-líena-de-comandos-008

Últimos ajustes en la definición de la máquina virtual

Para terminar con la definición de la máquina virtual, estableceremos algunas características complementarias:

  1. Habilitaremos el soporte I/O APIC para mejorar el procesamiento de interrupciones. Esto lo logramos, sencillamente, escribiendo el siguiente comando:
    VBoxManage modifyvm Ubuntu --ioapic on

    Como viene siendo habitual, la ausencia de salida en el comando significa que ha funcionado correctamente.

    Crear-una-nueva-máquina-en-VirtualBox-desde-la-líena-de-comandos-009

  2. Establecer la secuencia de arranque para indicar desde qué disco habrá que intentar arrancar el sistema primero. Aquí elegiremos primero el disco duro y a continuación la unidad óptica. Así, la primera vez tratará de arrancar desde el disco y, como no tiene sistema, iniciará desde la imagen ISO de instalación.

    En los siguientes inicios, el disco sí tendrá sistema y arrancará desde él.

    Lo conseguimos con el siguiente comando:

    VBoxManage modifyvm Ubuntu --boot1 disk --boot2 dvd --boot3 none --boot4 none

    … Y si todo va bien, no esperes ningún tipo de mensaje.

    Crear-una-nueva-máquina-en-VirtualBox-desde-la-líena-de-comandos-010

  3. Por último, definiremos la tarjeta de red. Y lo haremos con el siguiente comando:
    VBoxManage modifyvm Ubuntu --nic1 bridged --bridgeadapter1 enp0s3

    Lo primero que indicamos es el adaptador que estamos definiendo y el tipo de conexión. En nuestro caso, el adaptador 1 funcionando en modo adaptador puente (–nic1 bridged). También debemos indicar el adaptador del host que usaremos para virtualizar el de la máquina virtual (–bridgeadapter1 enp0s3)

    Como es lógico, podríamos repetir la orden anterior para definir tantos adaptadores de red como necesitáramos. Bastaría con escribir –nic2, –nic3, etc,

    Crear-una-nueva-máquina-en-VirtualBox-desde-la-líena-de-comandos-011

Iniciar la máquina virtual

Después de todo lo anterior, estamos listos para iniciar la máquina virtual por primera vez e instalarle el sistema operativo. Para lograrlo, sólo tenemos que ejecutar el comando VBoxManage con la orden startvm, indicando el nombre de la máquina virtual que queremos iniciar. Algo como esto:

VBoxManage startvm Ubuntu

Al hacerlo, aparece un mensaje que nos informa de que la máquina virtual se está iniciando.

Crear-una-nueva-máquina-en-VirtualBox-desde-la-líena-de-comandos-012

Un momento más tarde, aparecerá la ventana de VirtualBox como si hubiésemos iniciado la máquina virtual desde la interfaz gráfica.

Sólo tenemos que esperar un instante.

Crear-una-nueva-máquina-en-VirtualBox-desde-la-líena-de-comandos-013

Un momento después, veremos como se inicia la instalación del sistema operativo. A partir de aquí, sólo tenemos que seguir los pasos que nos indique el asistente de instalación del sistema operativo que estemos instalando.

En nuestro caso, a modo de ejemplo, hemos decidido instalar Ubuntu.

Crear-una-nueva-máquina-en-VirtualBox-desde-la-líena-de-comandos-014

Y hasta aquí el artículo de hoy. Espero que te haya parecido interesante.