Crear una nueva máquina en VirtualBox desde la línea de comandos
En 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…
Aunque 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.
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.
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:
- 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).
- 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).
- 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).
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 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).
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.
Ú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:
- 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
- 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
- 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)
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
Un momento más tarde, aparecerá la ventana de VirtualBox como si hubiésemos iniciado la máquina virtual desde la interfaz gráfica.
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.
Y hasta aquí el artículo de hoy. Espero que te haya parecido interesante.