Tutorial de VirtualBox
(para utilizar dentro de las aulas del IES)
1.-Aspectos a tener en cuenta sobre la virtualización en las aulas del instituto:
Existen varios programas gratuitos de virtualización/emulación que se podrían hacer servir,
como por ejemplo VMWare o Qemu. No obstante, el primero de ellos no es GPL, y el segundo no tiene una
interfaz gráfica amigable, (y lo que es más importante, no es capaz todavía se crear y hacer funcionar
máquinas virtuales con el sistema operativo Vista instalado en ellas). Es por esto que se ha elegido como
posible programa de virtualización a utilizar en las aulas el Innotek VirtualBox (http://www.virtualbox.org ),
el cual tiene una versión GPL y consta (entre otras) de una interfaz gráfica cómoda y fácil de utilizar.
Este documento no es más que un resumen muy escueto de las posibilidades de este programa.
Para saber más sobre éste, sus posibles usos y sus posibilidades, es muy recomendable consultar la excelente
y completísima Guía del Usuario, la cual se puede descargar por separado desde la propia página web de
Innotek.
Una primera idea para utilizar máquina virtuales en las aulas del instituto podría ser instalar el
VirtualBox en las máquinas de dichas aulas, y arrancar individualmente en cada uno de éstas las máquinas
virtuales que se quieran, las cuales podrían estar almacenadas también localmente en una partición-almacén.
El problema está en que los ordenadores no lo pueden soportar: la mayoría no llegan ni a los 512Mb de
RAM, y por lo pronto esto hace imposible que puedan iniciar por ejemplo una máquina virtual de Vista de
forma local (ya que la memoria que asignemos a nuestra máquina virtual, se resta de la memoria real física
de la máquina anfitriona, con lo que si el Vista necesita como mínimo para funcionar 512Mb, éstos se
restarán de la memoria real que es usada también por el sistema operativo anfitrión instalado en los
ordenadores del aula). Así que la alternativa es ejecutar el VirtualBox y la máquina virtual pertinente en el
servidor Valinor (conectándonos a él previamente via SSH), el cual tiene memoria suficiente para poner en
marcha dos y hasta tres máquinas virtuales a la vez. Evidentemente, haciéndolo de esta manera, sólo podrá
haber dos o tres alumnos que puedan utilizar por ejemplo el Vista a la vez, pero algo es algo.
VirtualBox es un programa que básicamente está formado (entre otras) por dos interfaces
diferentes y equivalentes entre sí: una GUI -muy sencilla-, y una interfaz por línea de comandos.
2.-Uso de la interfaz gráfica de VirtualBox:
Si deseamos poner en marcha la interfaz gráfica del programa, desde la cual podremos crear las máquinas
virtuales y los discos virtuales y arrancar la máquina deseada,etc , lo único que tenemos que hacer es lo
siguiente:
1.- Conectarnos (desde un Linux) a Valinor via SSH : ssh -X usuario@valinor .
Es importante el parámetro -X porque sirve para enviar al servidor X LOCAL la salida gráfica de los
comandos que estemos ejecutando -remotamente (en este caso,Valinor)-. Es decir, sirve para que podamos
ver en nuestro ordenador cliente las ventanas de los programas ejecutados en el servidor. Por eso,
también es necesario que nos conectemos al servidor desde un Linux -con un servidor X funcionando-: si
lo hiciéramos desde un Windows, daría error porque en Windows no tenemos ningún sistema X local.
2.-Ejecutar: VirtualBox & . Si todo va bien, aparecerá la interfaz gráfica del programa, y
podremos empezar a trabajar.
A continuación, escribo los pasos para crear una nueva máquina virtual,, instalar en ella un sistema
operativo y, finalmente, iniciarlo.
0.-Clicar en el botón “Nueva”. Aparecerá un asistente.
1.-Crear una máquina virtual (dándole un nombre) y definir de entre la lista, el tipo de sistema
operativo que vamos a instalar en ella.
2.-Asignar la cantidad de memoria RAM (en MB) que tendrá nuestra máquina
3.-Asociar a nuestra máquina un archivo VDI, que representará el disco duro (primario
maestro, hda) que tendrá ésta. Si no existe este archivo ya, lo deberemos de crear en este momento, con un
nuevo asistente, que nos preguntará por el nombre del archivo a crear y su tamaño -preferiblemente fijo-.
Este archivo inicialmente estará vacío -un disco duro sin contenido- , pero en un paso posterior
instalaremos en él.el sistema operativo que queramos. Es decir, nuestra máquina virtual utilizará este
archivo como disco duro, dentro el cual estará instalado el sistema operativo que toque, por lo que este
archivo VDI ha de ser lo suficientemente grande para que quepa la instalación de un sistema operativo
completo.
4.-Ya tenemos creada la máquina virtual, y así deberá aparecer en la pantalla principal del
programa. No obstante, no hemos acabado: necesitamos instalar el sistema operativo en nuestro disco duro
virtual -el archivo VDI- para poder posteriormente arrancarlo en nuestra máquina virtual y empezar a
usarlo. Pero antes, investiguemos primero un poco el VirtualBox: cliquemos en el botón “Configuración” y
saldrá un panel con diversos apartados.
*En el apartado “General”, podremos modificar, si así lo queremos, los datos que hemos introducido en
el asistente de creación de la máquina virtual, como su nombre, el tipo de sistema operativo que se va a
instalar, los Mb de RAM y -una cosa nueva- los Mb de la RAM de vídeo (aunque este dato no es
demasiado relevante, ya que VirtualBox emula la tarjeta gráfica de la máquina invitada de forma muy
pobre, -sin posibilidad de aceleración 3D- con lo que la cantidad de VRAM que se establezca no influirá
demasiado en la calidad final de la imagen, y muchos efectos visuales no se podrán realizar )
*La pestaña “Avanzado” de este mismo apartado es importante porque desde allí estableceremos el
orden de arranque de los dispositivos de nuestra máquina virtual; ahora nos interesa que primero esté el
DVD y luego el disco duro,ya que tenemos que instalar todavía en nuestro archivo VDI el sistema
operativo que queremos, el cual lo tenemos en un DVD (o en un archivo .iso equivalente). Una vez que
hayamos instalado el S.O, podremos volver aquí y variar el orden de arranque para que se inicie de
entrada desde el disco… Podemos ver que otras opciones diferentes de esta pestaña es habilitar el ACPI,
el modo del portapapeles entre el sistema anfitrión y el invitado (bidireccional por defecto) y la ruta de la
carpeta donde se guardarán las instantáneas del sistema -”snapshots”-.
*Otro apartado interesante es el de “Discos duros”, desde donde se puede modificar la asignación
máquina virtual<->disco duro primario maestro que hemos hecho en el asistente inicial, y podemos
añadir hasta dos discos duros más -otros dos archivos VDI-, que serían el primario esclavo (hdb) y el
secundario esclavo (hdd). El secundario maestro (hdc) se reserva para la lectora de DVD.
*Otro apartado fundamental es el de “DVD/CD-ROM”, desde el cual añadiremos a nuestra máquina
virtual una unidad de DVD, la cual puede ser física real -mapeando una unidad existente en la máquina
anfitrión, con lo que el soporte que introduzcamos en esa unidad será lo que vea nuestra máquina virtual-,
o bien puede ser un archivo .iso, con lo que la unidad de DVD de nuestra máquina virtual contendrá
siempre dicho archivo, simulando así tener siempre el mismo DVD en su interior.
.
*Otros apartados que sirven para habilitar en la máquina virtual diferentes dispositivos: “Audio”,
“Red”,”Puertos serie”, “USB”, o bien para la de creación de “Directorios compartidos” (entre
máquina anfitrión e invitada) o para la configuración de “Pantalla remota” (para habilitar el servidor
VRDP ).Ya hablaremos de ellos más adelante.
Bien. Nos habíamos quedado en que tenemos que instalar el sistema operativo en nuestro
disco duro virtual. Para ello, lo que tendremos que hacer es primero, montar el dispositivo DVD (dentro del
apartado de la configuración “DVD/CD-ROM”) y decidir si la unidad virtual de DVD será un mapeo de
una unidad real, o si bien su contenido será el de un archivo Iso. En el caso particular del instituto, si nos
decidiéramos por la primera opción, deberíamos de tener acceso físico a la unidad DVD del servidor
Valinor para introducir allí el soporte adecuado -el DVD de instalación del S.O-, pero ya que esto no es
demasiado práctico, en nuestro caso optaremos por generar previamente una imagen .iso de nuestro DVD
de instalación, y copiarla a alguna carpeta accesible en Valinor -en concreto, la carpeta
/opt/vm/sistemas/isos - (con la ventaja de que así tendremos siempre disponible el archivo iso para poderlo
quemar si nos hiciera falta y no ir arriba y abajo con el soporte). Dicho esto, lo que tendríamos que hacer,
pues, es decir que la lectora DVD de la máquina virtual será el archivo .iso creado previamente a partir del
DVD de instalación del S.O deseado.(y copiado en alguna carpeta accesible de Valinor)
Por cierto, si se quiere generar un archivo .iso de un DVD, es tan fácil como ejecutar el siguiente
comando: (el archivo .iso se generará en el directorio desde donde lo escribamos): “dd if=/dev/sdc0
of=archivo.iso” , donde /dev/sdc0 es el nombre del dispositivo lector de DVD de nuestro ordenador,
aunque no siempre se llama así (depende del Linux que tengamos): se puede llamar /dev/cdrom0 ,
/dev/cdrom , /dev/hdc , etc,etc . Para saberlo, se puede ejecutar el comando “mount” para ver la lista de
dispositivos montados del sistema, lista donde deberá de aparecer nuestra lectora DVD, o bien, desde
cualquier escritorio (Gnome, KDE) echando un vistazo a las “Propiedades” de las unidades visibles..
Y, una vez hemos dicho que montaremos la unidad de DVD de la máquina virtual con el
contenido del .iso de instalación del sistema operativo, una segunda acción que debemos realizar es
asegurarnos que el orden de arranque de los dispositivos (apartado “General”, pestaña “Avanzado”) sea el
correcto: primero el DVD y después el disco duro.
5.-Pulsamos el botón “Inicio”, y deberá de abrirse una ventana que representa la pantalla de
nuestra máquina virtual. Antes de nada sale un mensaje recordándonos que si hacemos clic dentro de dicha
pantalla, el ratón y el teclado pasarán a ser controlados por la máquina virtual, y si queremos que ésta
suelte el control del ratón y el teclado para poderlos usar en el sistema anfitrión, hay que pulsar la tecla
mostrada en la barra de estado abajo a la derecha (la llamada “host key”, que por defecto es la tecla CTRL
derecha, aunque eso se puede cambiar en el menú de Preferencias). Una vez aceptemos el mensaje, deberá
de comenzar el proceso de instalación del sistema operativo dentro del archivo VDI a partir del .iso .
Nota: hay determinadas combinaciones de teclas que siempre serán detectadas por la máquina anfitriona,
y nunca por la invitada, como CTRL+ALT+SUPR, CTRL+ALT+BACKSPACE ó CTRL+ALT+Fx . En
estos casos, para que la combinación deseada afecte a la máquina invitada, se han de usar otras teclas,
respectivamente: “Host key”+SUPR, “Host key”+BACKSPACE ó “Host key”+Fx. Otras combinaciones
típicas, como ALT+TAB, se pueden configurar dentro del menú “Archivo->Configuración global-
>Entrada->Autocaptura de teclado” de la interfaz gráfica de VirtualBox para decidir si afectan al sistema
anfitrión o al invitado.
6.-Una vez instalado el sistema, hay que acordarse de, o bien desmontar la unidad de DVD, o
bien, si la queremos seguir usando, cambiar el archivo .iso asociado, o bien, variar el orden de arranque de
los dispositivos para que arranque primero el disco duro. Si no hacemos alguna cosa de éstas, siempre
empezará arrancando el DVD de instalación del sistema operativo.
7.-Para arrancar el nuevo sistema operativo ya instalado, clicaremos en el botón “Iniciar”, y
para parar la máquina, podemos cerrar la ventana del sistema invitado, o bien clicar en el botón “Parar”.
3.-Uso de la interfaz de comandos de VirtuaBox:
Si deseamos poner en marcha la interfaz de comandos del programa, desde la cual podremos hacer las
mismas tareas que las descritas anteriormente (crear las máquinas virtuales y los discos virtuales y arrancar
la máquina deseada,etc) lo único que tenemos que hacer es lo siguiente:
1.- Conectarnos (desde un Linux) a Valinor via SSH : ssh usuario@valinor .
En este caso no es importante escribir el parámetro -X ya que todo lo haremos a través de comandos de
consola. No obstante, el último paso, que es poner en marcha la máquina virtual (con la correspondiente
instalación del S.O en ella, y su posterior utilización) sí que debería ejecutarse con el redireccionamiento
X habilitado -es decir, utilizando el parámetro -X del SSH-, ya que es el momento donde ha de aparecer
visible en nuestra pantalla la ventana correspondiente a la máquina virtual .
A partir de aquí, deberemos de ejecutar una serie de comandos, uno detrás de otro, para realizar paso a paso
todas las acciones necesarias ya conocidas: crear una máquina virtual, crear un archivo VDI -o sea, un
disco duro virtual-, establecer las características principales de la máquina virtual (memoria RAM, montaje
de unidades, etc), puesta en marcha de la máquina virtual, etc.
Antes de empezar, no obstante, conviene conocer una serie de aspectos de VirtualBox. Por ejemplo:
hay que saber que cada usuario de Valinor tiene dentro de su carpeta HOME una carpeta (oculta) llamada
“.VirtualBox”, creada automáticamente en la instalación de dicho programa. Dentro de ésta, han de
aparecer algunos archivos de log y un archivo llamado “VirtualBox.xml”, el cual contiene, en formato
XML, información sobre la configuración general del programa, como por ejemplo: qué máquinas y
discos virtuales hay registrados (es decir, los que se reconocen y con los que se puede trabajar), etc.
Además, dentro de esta carpeta “.VirtualBox”, existirá una subcarpeta llamada “Machines”. Dentro
de “Machines”, a su vez, aparecerá una subcarpeta diferente por cada nueva máquina virtual que se haya
creado. Cada una de estas subcarpetas dentro de “Machines” se llamará igual que la máquina virtual
correspondiente, y en su interior, aparte de unos cuantos archivos de log específicos de esa máquina virtual
concreta, lo que tendremos será un archivo XML (cuyo nombre será otra vez el de la máquina virtual
dada), el cual contendrá todas las características para dicha máquina virtual especificadas por nosotros en el
momento de su creación (o posteriormente), ya sea mediante el uso de la interfaz gráfica o la de comandos.
Colgando directamente de la carpeta “.VirtualBox”, además de la subcarpeta “Machines”, existirá
otra llamada “VDI”, la cual contendrá los diferentes archivos VDI generados (es decir, los archivos que
hacen de disco duro virtual para las diferentes máquinas virtuales, y donde se instalarán los diferentes
sistemas operativos).
Resumiendo, la estructura de carpetas es similar a la siguiente:
$HOME/.VirtualBox/ —> VirtualBox.xml
|———-> Archivos log variados
|
|
|———> Machines/——->Mimaquina1/ ——–>Mimaquina1.xml
| | |—————> Logs/
| |
| |————>Mimaquina2/———>Mimaquina2.xml
| |—————->Logs/
|
|
|———-> VDI/ ————->Midisco1.vdi
|—————–>Midisco2.vdi
Todo este árbol de ubicaciones se puede cambiar si así se desea, desde el menú Preferencias-
>General de la interfaz gráfica de VirtualBox, o bien con los comandos adecuados que en seguida veremos.
1.-Creamos la máquina virtual: VBoxManage createvm -name Mimaquina -register
Lo que hacemos con este comando en realidad no es más que crear la subcarpeta correspondiente dentro de
la carpeta “Machines” comentada más arriba, y crear dentro de aquélla el archivo XML particular para
dicha máquina virtual, con sus valores de configuración inicialmente vacíos.
*El parámetro -name sirve para especificar el nombre de la máquina virtual a crear.
*El parámetro -register sirve para registrar esta máquina virtual en el motor del VirtualBox, de manera
que éste la reconozca y pueda trabajar con ella (o dicho de otra manera, tal como dice el manual, sirve
para importar la definición de una máquina virtual -en forma de archivo XML- dentro de VirtualBox).
Este último parámetro se podría haber obviado, pero entonces, a continuación del comando anterior,
habría sido necesario escribir éste otro: VBoxManage registervm rutaArchivo.xml , donde
rutaArchivo.xml indica la ruta completa del archivo XML que representa la máquina virtual en cuestión
(es decir: $HOME/.VirtualBox/Machines/Mimaquina/Mimaquina.xml ; aunque también se pueden usar si
se desea rutas relativas a la carpeta “.VirtualBox” , escribiendo lo mismo así:
./Machines/Mimaquina/Mimaquina.xml ). Notar que también existe el comando contrario, que
“desregistra” la máquina virtual: VBoxManage unregistervm Mimaquina, y si deseamos, además de
desregistrar la máquina virtual, eliminarla completamente del disco duro, deberemos añadir al final del
comando VBoxManage unregistervm el parámetro -delete.
*Puedes pensar que si creamos la máquina virtual dentro de la carpeta personal de un usuario, otros
usuarios que quieran hacer uso de ésa no podrán hacerlo, porque no tendrán acceso a dicha carpeta.
Efectivamente. Por eso tenemos la posibilidad de crear la máquina virtual (de hecho, su archivo XML de
definición) dentro de otra carpeta -la cual se supone que será accesible por los usuarios que lo necesiten-.
La ruta de esta carpeta vendrá dado por el parámetro -basefolder del comando VBoxManage createvm ,
así: VBoxManage createvm -name Mimaquina -register -basefolder /ruta/absoluta/maquina.
*Otro parámetro del comando VBoxManage createvm es -settingsfile nombreArchivo, mediante el cual
podremos especificar el nombre que queramos que tenga el archivo XML de definición (el cual ya
sabemos que por defecto es el mismo que el de su máquina virtual correspondiente).
2.-Creamos el disco virtual que será usado por la máquina virtual anterior:
VBoxManage createvdi -filename Midisco -size tamaño_en_Mb -static -register
Lo que hacemos con este comando es crear un disco virtual; es decir, el archivo VDI -vacío- que alojará el
sistema operativo invitado que vayamos a instalar, dentro de la carpeta “VDI” comentada más arriba.
*El parámetro -filename sirve para especificar el nombre de ese archivo VDI. También se puede poner, en
vez del nombre del archivo tal cual, una ruta absoluta completa, en cuyo caso el archivo se creará en la
ruta especificada. Esto es interesante hacerlo para guardar los discos en una ubicación a la que puedan
acceder varios usuarios, ya que si no, sólo podría utilizar el disco el usuario que lo creó (porque ya hemos
dicho que por defecto el disco se crea dentro de la carpeta “VDI”, que está en la carpeta HOME de ese
usuario a no ser que esto mismo lo hayamos cambiado a través del menú Archivos->Preferencias de la
interfaz gráfica, tal como se ha comentado ya- ).
*El parámetro -size sirve para especificar el tamaño (en megabytes) del archivo VDI.
*El parámetro -static indica que el tamaño del archivo VDI (el disco virtual) no variará: siempre será el
fijado en su creación. La otra posibilidad es no escribir este parámetro, en cuyo caso el tamaño del disco
iría aumentando a medida que éste se fuera llenando y quedarse sin espacio libre; no obstante, no es una
opción recomendada, ya que la lectura-escritura en un disco de tamaño variable es mucho más lenta, al
tener que estar reubicando constantemente los sectores que lo forman.
*En este comando también se puede escribir el parámetro opcional -comment “comentario” , cuyo
significado es evidente.
*El parámetro -register sirve para “registrar” el disco virtual, de manera que pueda ser usado por las
máquinas virtuales ya existentes. Este último parámetro se podría haber obviado, pero entonces, a
continuación del comando anterior, habría sido necesario escribir éste otro: VBoxManage registerimage
disk Midisco .Notar que también existe el comando contrario, que “desregistra” el disco: VBoxManage
unregisterimage disk Midisco; hay que tener en cuenta, no obstante, que desregistrar un disco no
implica el borrado del archivo VDI : si se desea eliminar dicho archivo se ha de hacer “a mano” desde
fuera del VirtualBox.
Existe la posibilidad de hacer el disco virtual de “sólo lectura” al siguiente reinicio. Es decir, mantener
una instalación del sistema invitado inmutable, de manera que cuando se apague la máquina virtual y se
vuelva a encender, su estado continúe siendo el inicialmente configurado, similar a tener el DeepFreeze
instalado. Para hacer esto, primero hay que tener el contenido del disco ya colocado tal como lo deseamos
preservar, con su sistema operativo instalado, sus programas, etc. El segundo paso es “desregistrar” el
disco -con VBoxManage unregisterimage disk- para poder ejecutar seguidamente el siguiente comando
VBoxManage registerimage disk Midisco -type inmutable . Lo único que hemos hecho ha sido volver
a registrar el discon con el parématro -type indicando que será un disco de sólo lectura. Este tipo de discos
tiene además la característica de poder ser utilizado simultáneamente por varias máquinas virtuales, cosa
que los discos normales no pueden. Para volver a hacer que se guarden los posibles cambios realizados
en ese disco, hay que desregistrar el disco y volverlo a registrar de forma normal (sin el parámetro -type),
o bien explícitamente, escribir: VBoxManage registerimage disk Midisco -type normal .
Por último, indicar que la interfaz gráfica del VirtualBox ofrece, a través de su menú “Archivo”, la
posibilidad de utilizar el llamado “Administrador de discos virtuales”, que no es más que un asistente para
registrar, desregistrar, crear y eliminar de manera más cómoda los distintos discos virtuales necesarios (y
también las imágenes iso que se deseen utilizar, ya que éstas también han de ser registradas, como
veremos pronto).
3.-Configuramos la máquina virtual, especificando las características que nos interesan:
VBoxManage modifyvm Mimaquina …….. (los puntos suspensivos indican que se han de escribir una
serie de parámetros más o menos variados según las características que queremos que tenga la máquina
virtual en cuestión).
A continuación presento una tabla con una breve explicación de los parámetros más habituales que
acompañan a este comando, para posteriormente ponerlos en práctica a la hora de configurar una máquina
virtual concreta..
-ostype {win2k |winxp |win2k3 |
Parámetro necesario que indica el tipo de sistema operativo que
winvista | linux24 |linux26 |freebsd |
se instalará en la máquina virtual. Algunas de las posibilidades
netbsd | openbsd | solaris }
son, respectivamente: Windows2000, WindowsXP,
Windows2003Server,WindowsVista,Linux 2.4, Linux 2.6,
FreeBSD, NetBSD, OpenBSD, Solaris, etc. Se puede consultar
la lista entera de sistemas operativos invitados soportados (y su
palabra clave) ejecutando VBoxManage list ostypes
-memory nºMB
Parámetro necesario que establece el número de megabytes que
tendrá la memoria RAM de la máquina virtual. Recordar que la
cantidad que establezcamos se restará directamente de la
memoria RAM real disponible para la máquina anfitrión.
-boot1 {none|floppy|dvd|disk|net}
Parámetro necesario que establece el orden de arranque de los
-boot2 {none|floppy|dvd|disk|net}
diferentes dispositivos de la máquina virtual. El dispositivo
-boot3 {none|floppy|dvd|disk|net}
establecido por -boot1 será el primero en arrancar, -boot2 será
-boot4 {none|floppy|dvd|disk|net}
el segundo y así. Se puede ver que dispositivos arrancables son
diskettes,dvds, discos y la red.
-hda {none|rutaArchivoVDI}
Parámetro necesario que establece qué discos tendrá la máquina
-hdb {none|rutaArchivoVDI}
virtual. Aquí se ha de especifica cuál (o cuales) de los archivos
-hdd {none|rutaArchivoVDI}
VDI previamente creados van a asociarse a esta máquina virtual
concreta. Fijarse que podemos asociar hasta tres discos
diferentes -primario maestro, primario esclavo, secundario
esclavo-. Notar también que el disco secundario maestro (hdc)
está reservado para el uso de la unidad de DVD virtual, por lo
que no se puede asociar a ningún archivo VDI.
-dvd {none| host:/dev/dispositivo|
Parámetro necesario que establece cuál es el contenido de la
rutaArchivoISO}
unidad (virtual) de DVD de la máquina virtual. Se puede
especificar el contenido que tenga en ese momento la propia
unidad física real de la máquina anfitriona, o bien un archivo
iso, cuya ruta se ha de especificar, relativa a la carpeta
$HOME/.VirtualBox.. En este último caso (el utilizar archivos
iso como contenido de la unidad virtual de DVD), será
necesario ejecutar ANTES del “VBoxManage modifyvm” en
cuestión, el siguiente comando: VBoxManage registerimage
dvd rutaArchivoISO, para tener previamente registrado el
archivo iso, y así poder utilizarlo posteriormente como
contenido de la unidad de DVD con la presente opción. Es
decir, al igual que los discos VDI, los archivos iso han de estar
registrados previamente para que VirtualBox los pueda utilizar
(aunque si por el contrario si utilizamos una unidad física real
de la máquina anfitriona como unidad virtual de DVD, este
paso no es necesario). También existe el comando
VBoxManage unregisterimage dvd rutaArchivoISO
-vram nºMB
Establece el número de megabytes que tendrá la memoria RAM
de vídeo de la tarjeta gráfica emulada de la máquina virtual.
Hay que decir, no obstante, que la emulación de esta tarjeta es
muy básica, sin soporte para aceleración 3D, por lo que la
cantidad de memoria de video que se le pueda asignar no es
demasiado relevante. Al igual que con la memoria RAM, los
megabytes que se asignen a la memoria de video se restarán de
la memoria de video real de la máquina anfitriona.
-acpi {on|off}
Activa (o no) el soporte ACPI para la máquina virtual. Es
importante no cambiar posteriormente el valor que se le dé en
un inicio, ya que el sistema operativo instalado en esa máquina
virtual puede dejar de funcionar -sobre todo si es un Windows-.
-bioslogofadein {on|off}
Determina si el logo de Innotek se verá al iniciar o apagar la
-bioslogofadeout {on|off}
máquina virtual, respectivamente
-bioslogodisplaytime nºmilisegundos
Si alguna de las dos opciones anteriores está a on, especifica el
número de milisegundos que el logo de Innotek estará visible.
-bioslogoimagepath rutaAbsolutaImagen Sustituye el logo de Innotek por otro personalizado. La imagen
ha de estar en formato BMP sin compresión, y ha de ser de 256
colores.
-biosbootmenu {disabled| menuonly |
Especifica si la BIOS permite al usuario seleccionar un
messageandmenu}
dispositivo de arranque temporal. “Menuonly” suprime el
mensaje, pero el usuario puede todavía pulsar F12 para
seleccionar un dispositivo de arranque.
-name nuevoNombre
Cambia el nombre de la máquina virtual, renombrando también
los archivos internos de ésta (los XML, etc)
-usb {on|off}
Habilita (o no) el controlador de USB de la máquina virtual
-audio {none|null|oss}
Habilita -mediante el servidor de sonido OSS- ( o no) el audio
en la máquina virtual
-nic1 {none|null|nat|hostif|intnet}
Establece, para cada una de las cuatro posibles interfaces de red
-nic2 {none|null|nat|hostif|intnet}
de la máquina virtual, qué modo de red utilizará: ninguno,
-nic3 {none|null|nat|hostif|intnet}
desconectado, NAT, interfaz de host o red interna.
-nic4 {none|null|nat|hostif|intnet}
-cableconnected1 {on|off}
Simula la conexión o desconexión del cable de red a la tarjeta
-cableconnected2 {on|off}
de red especificada, como si se hubiera desenchufado
-cableconnected3 {on|off}
físicamente. Útil para resetear determinado software de red.
-cableconnected4 {on|off}
-macaddress1 {auto|<mac>}
Setea la dirección MAC de la tarjeta de red especificada. Por
-macaddress2 {auto|<mac>}
defecto, cada una de estas tarjetas tiene asignada por
-macaddress3 {auto|<mac>}
VirtualBox una dirección MAC aleatoria, en el momento de la
-macaddress4 {auto|<mac>}
creación de la máquina virtual.
-uart1 {off|puertoI/O IRQ}
Configura los puertos serie de la máquina virtual (ver más
-uart2 {off|puertoI/O IRQ}
adelante)
-uartmode1 {disconnected|<device>}
Configura cómo se conecta el puerto serie configurado
-uartmode1 {disconnected|<device>}
anteriormente de la máquina virtual a la anfitriona. En <device>
se especifica el nombre del dispositivo físico de la máquina
anfitriona que se quiere mapear al puerto serie virtual. Se puede
poner COM1 o COM2 si la máquina anfitriona es un Windows,
o algo como /dev/ttyS0 si es un Linux.
-clipboard {disabled|hosttoguest|
Determina si el portapapeles del sistema operativo invitado será
guesttohost|bidirectional}
accesible por el sistema operativo anfitrión, viceversa, en
ambas direcciones, o no. Se necesita tener instaladas las “Guest
Additions” para que funcione.
-snapshotfolder {default|
Especifica la carpeta donde los snapshots serán guardados
rutaCarpetaSnapshots}
Lo primero que nos va a interesar es instalar un sistema operativo en nuestra máquina virtual. Vamos a
suponer que tenemos un archivo iso guardado en nuestra carpeta $HOME/.VirtualBox (si está guardado en
otro sitio, simplemente habría que especificar su ruta absoluta), el cual es la imagen del DVD de
instalación de un sistema Linux cualquiera. ¿Qué tendríamos que escribir para configurar que la máquina
virtual arranque desde ese archivo iso para iniciar la instalación de ese sistema? Pues esto:
VBoxManage registerimage dvd Fedora8.iso
VBoxManage modifyvm -ostype linux26 -memory 512 -boot1 dvd -dvd Fedora8.iso -hda Midisco.vdi
4.-Iniciamos la máquina virtual: VBoxManage startvm Mimaquina
Tal como lo hemos venido haciendo, lo que tendría que ocurrir es que aparezca una ventana que representa
la pantalla de la máquina virtual, donde se puede visualizar el proceso de instalación de ese sistema Linux
en nuestro disco Midisco.vdi. Una vez acabado todo el proceso de instalación, ya tendremos nuestro Linux
listo en nuestra máquina virtual; no obstante, puede que en ese momento nos interese cambiar el orden de
arranque de los dispositivos para que ya no arranque desde el DVD -es decir, para que no esté cada vez
intentando instalar ese Linux- sino que arranque directamente desde el disco duro virtual, el cual ya tiene el
sistema instalado. Para hacer esto, simplemente hay que hacer:
VBoxManage unregisterimage dvd Fedora8.iso (opcional, si ya no vamos a usar la imagen iso para nada)
VBoxManage modifyvm -boot1 disk -dvd none
Y ya está. Cuando volvamos a encender la máquina virtual, nuestro nuevo y flamante sistema operativo
virtual arrancará
4.-Profundizando en las posibilidades de VirtualBox:
AUDIO EN LA MÁQUINA VIRTUAL:
Si se activa el audio en la máquina virtual (ya sea mediante el apartado correspondiente del cuadro de
“Configuración” en la interfaz gráfica o bien mediante el paràmetro -audio de “VboxManage modifyvm”),
VirtualBox será capaz como mínimo de simular un driver Intel AC’ 97 para la máquina virtual. No
obstante, lo normal será seleccionar el driver de audio presente en la máquina anfitriona que queramos que
sea el utilizado por la máquina virtual. En sistemas anfitriones Linux podemos elegir entre el subsistema
OSS o ALSA.
DISPOSITIVOS USB EN LA MÁQUINA VIRTUAL:
VirtualBox permite que las máquina virtuales accedan a dispositivos USB enchufados a la máquina
anfitriona como si estuvieran enchufados a la propia máquina virtual.. Para ello, VirtualBox preconfigura
en la máquina virtual un driver de USB virtual genérico, el cual de entrada no sirve si no se le aplica algún
“filtro”. Un “filtro” especifica las características concretas del dispositivo USB en cuestión, (como el
fabricante, modelo, etc,) que será el que la máquina virtual sea capaz de reconocer.
En el apartado correspondiente del cuadro de “Configuración” en la interfaz gráfica se pueden añadir los
filtros necesarios.En concreto, los valores que se han de introducir obligatoriamente son el “ID del
Vendedor” y el “ID del producto”, los cuales suelen estar escritos en forma de cuatro dígitos
hexadecimales, separando por : el primer valor del segundo. Alternativamente, se puede especificar en
vez de la pareja de valores anterior, el “Nombre del Fabricante” y el “Nombre del producto”.
Para obtener todos estos valores de los dispositivos conectados actualmente a la máquina anfitriona, lo más
fácil es escribir: VBoxManage list usbhost . Estos valores también se pueden obtener en Linux
escribiendo lsusb y en Windows consultando el “Administrador de dispositivos” (seleccionando por
ejemplo “Dispositivo de almacenamiento masivo USB”, y dándole a Propiedades->Detalles: lo que aparece
detrás de VID_ es el id del vendedor, y lo que aparece detrás de PID_ es el id del producto; el último
número largo es el número de serie).
En casos extraños es necesario especificar además de los valores arriba mencionados,el número de serie.
Los filtros también se pueden generar a través de la interfaz de línea de comandos VboxManage, pero
resulta un proceso laborioso y lento que no se detallará.
Es importante remarcar que tan pronto el sistema invitado comience a utilizar el dispositivo USB, éste
dejará de estar disponible para la máquina anfitriona.
También es posible hacer que un VirtualBox ejecutado remotamente -via VRDP, por ejemplo (ya
hablaremos de esto)- detecte los dispositivos USB conectados localmente. Esto es lo que nos podría
interesar en las aulas, ya que al estar ejecutando VirtualBox en Valinor, a priori para poder utilizar un
dispositivo USB deberíamos de tenerlo enchufado directamente a Valinor, cuando lo que sería realmente
útil es tenerlo enchufado a la máquina local. Para lograr esto simplemente deberíamos de seleccionar en el
cuadro combinado “Remoto”, del apartado de configuración de los dispositivos USB de la interfaz gráfica
de VirtualBox., el valor de “Cualquiera” (para que se puedan usar dispositivos USB tanto remotos como
locales) ó “Sí” (para que sólo se puedan usar dispositivos USB remotos)
PUERTOS SERIE EN LA MÁQUINA VIRTUAL:
Cuando se habilita (la manera más fácil de hacerlo es en el apartado correspondiente de la interfaz gráfica),
el sistema invitado verá un puerto serie estandar de tipo 16450, pero es necesario configurar los siguientes
datos extra para que éste pueda comenzar a ser utilizado: el puerto de I/O base y la IRQ.
Los valores tradicionales son:
Puerto
Puerto de I/O base
IRQ
COM1
0×3F8
4
COM2
0×2F8
3
COM3
0×3E8
4
COM4
0×2E8
3
Además, hay que especificar si el puerto serie virtual estará “desconectado” o bien si estará conectado a un
puerto serie físico de la máquina anfitriona (en Windows, el puerto COM1 y en Linux un dispositivo
como /dev/ttyS0), entre otras alternativas..
En el modo de interfaz de línea de comandos se puede habilitar el puerto serie con los parámetros -uart y -
uartmode de la orden “VBoxmanage modifyvm”, (ver en párrafos anteriores la sintaxis concreta).
LAS “GUEST ADDITIONS”. PORTAPAPELES Y DIRECTORIOS COMPARTIDOS ENTRE
ANFITRIÓN E INVITADO:
Las “Guest Additions” son drivers de dispositivos y aplicaciones de sistema que se instalan dentro de la
máquina virtual para optimizarla, mejorando su mejor usabilidad y funcionalidad.
Para instalarlas lo único que hay que hacer es registrar un archivo ISO especial llamado
VboxGuestAdditions.iso que en Windows está en la carpeta de instalación de VirtualBox (C:\Archivos de
programa\Innotek VirtualBox) y que en Linux está en la carpeta “additions” dentro de donde se instaló
VirtualBox (normalmente, /opt/VirtualBox). Utilizando pues dicho ISO como un CD virtual, se accederá su
contenido, desde donde podremos poner en marcha (en Linux, ejecutando el script
VboxLinuxAdditions.run; en Windows clicando en Setup.exe) un asistente que procederá a la instalación
de las “guest additions”.
Una manera alternativa (más fácil) de instalarlas, es ir directamente en el menú “Devices” de la barra de
menús de la ventana de la máquina virtual en cuestión, la cual ya lanza el asistente directamente.
Existen “guest additions” genéricas para todo tipo de sistemas invitados, y unas cuantas específicas para
sistemas invitados Windows. Las primeras nos van a permitir:
Hacer que automáticamente el puntero del ratón sea reconocido como perteneciente a la máquina virtual o
anfitriona según si está dentro o fuera de la ventana de primera, respectivamente, sin tener que pulsar
ninguna tecla “host key” ni nada.
Tener un soporte de video mejorado, con drivers que proveen modos de video extra no estándar y un
rendimiento de video acelerado. Para máquinas virtuales Windows, su ventana se podrá redimensionar y
la resolución cambiará acordemente.
Resincronizar permanentemente el tiempo de la máquina virtual con el de la máquina anfitriona, sin
saltos.
Crear y usar carpetas compartidas entre el sistema anfitrión y el invitado. Es decir, para que desde el
sistema invitado se pueda acceder a alguna carpeta concreta alojada en algún disco de la máquina
anfitriona.
Para ello, después de haber instalada la “guest addition” correspondiente, habrá que ejecutar el siguiente
comando: VBoxManage sharedfolder add Mimaquina -name nombrecarpetacompartida -hostpath
rutacarpetaenanfitrion , donde el parámetro -name establece el nombre (el que nos dé la gana, nos lo
podemos inventar) que queremos que tenga esa carpeta compartida y que será el nombre que se verá
desde la máquina invitada, y el parámetro -hostpath establece la ruta absoluta real en el sistema anfitrión
de la carpeta a compartir. Con esto ya tendremos una carpeta del sistema anfitrión accesible desde el
sistema invitado. Esto mismo lo podríamos haber hecho también desde la interfaz gráfica del VirtualBox,
en el apartado “Directorios compartidos” del cuadro “Configuración” (si la máquina virtual está apagada),
o bien desde el menú “Dispositivos” de la barra de menús de la ventana de la máquina virtual, si ésta está
encendida en ese momento. En ambos casos, nos aparecerá un cuadro donde deberemos de introducir los
dos valores comentados: el nombre que deseemos dar a la carpeta compartida y su ruta real en la máquina
anfitriona.
Una vez compartida la carpeta del sistema anfitrión tal como se acaba de explicar, para acceder a ella
desde el sistema invitado se hace de la siguiente manera. Si el sistema invitado es Windows, se puede
escribir el comando net use z: \\vboxsvr\nombrecarpetacompartida , donde z: puede ser la letra de
unidad que se desee y nombrecarpetacompartida es el nombre que se le dio en el parámetro -name del
comando “VBoxManage sharedfolder add” visto antes. Haciendo esto, en “MiPC” aparecerá una nueva
unidad -en este caso, la Z:- que será la puerta de entrada a la carpeta compartida. Alternativamente, en
sistemas invitados Windows también se podría acceder a dicha carpeta compartida yendo a “Mis sitios de
red”->Grupo “VirtualBox”->Ordenador “VboxSvr”. Si el sistema invitado es un Linux, se tendrá que
escribir el siguiente comando:
mount -t vboxsf nombrecarpetacompartida
puntomontajecarpetaenanfitrion.
Con VirtualBox es posible acceder directa y completamente al disco duro real de la máquina anfitriona
desde una máquina virtual ( o a particiones concretas de éste). No obstante, se corre el riesgo de perder
datos, y el procedimiento para conseguirlo es bastante complejo, por lo que no se explicará aquí. (Si se
desea más información, el procedimiento está detallado en la página 105 de la Guía del Usuario y
siguientes).
Poder utilizar el portapapeles compartido entre el sistema anfitrión y el invitado.
Para ello, una vez instalada la “guest addition” correspondiente, habrá que ejecutar el siguiente comando:
VBoxManage modifyvm -clipboard bidirectional
Y las segundas nos van a permitir:
Logearnos automáticamente (es decir, sin que Windows nos pida contraseña).
Para ello, será necesario, además de instalar la “guest addition” correspondiente, copiar el archivo
VboxGINA.dll de la carpeta “Additions” del iso a System32 y crear en el registro de Windows la entrada:
HKLM\Software\Microsoft\Windows NT\CurrentVersion\WinLogon\GinaDLL con el valor
“VboxGINA.dll”.
Finalmente, para establecer el usuari/contraseña/dominio por defecto, habrá que ejecutar el siguiente
comando: VBoxManage controlvm Mimaquina setcredentials “Pepito” “contraseña” “dominio”
.Esto último se tendrá que hacer cada vez que se ponga en marcha la máquina virtual, ya que estas
credenciales no se guardan en ningún sitio.
Suprimir el fondo del escritorio del sistema Windows invitado, permitiendo así ejecutar ventanas del
sistema invitado sin distinguirlas de las ventanas del sistema anfitrión.
Para habilitar este efecto, una vez iniciada la máquina virtual, simplemente hay que apretar “Host key
+L” .Para quitarlo, hay que apretar la misma combinación otra vez.
Las Guest Additions se pueden actualizar con otro iso más nuevo, volviendo a ejecutar el asistente. Para
más información, remito a la Guía de Usuario del VirtualBox.
INSTANTÁNEAS (”SNAPSHOTS”) DE LA MÁQUINA VIRTUAL:
Con las instantáneas (”snapshots”), se puede guardar un estado particular de la máquina virtual en un
momento dado. A ese estado grabado se podrá volver posteriormente, si se desea, para reestablecer la
máquina en esa configuración anterior. Esto es especialmente interesante para asegurarse de que el sistema
invitado no se estropee por cambios accidentales o virus.
Para crear un snapshot desde la interfaz gráfica del VirtualBox, se ha de hacer lo siguiente:
Si la máquina virtual está funcionando, seleccionar “Tomar instantánea” del menú “Máquina” de la
ventana de la máquina virtual. Si la máquina virtual está apagada, hacer clic en la pestaña “Instantáneas”
de arriba a la derecha y hacer clic en el pequeño icono de la cámara.
Saldrá un popup preguntando el nombre del snapshot. Seguidamente, esta nueva instantánea aparecerá en
la lista bajo la pestaña “Instantáneas “, y bajo ésta, aparecerá un item llamado “Estado actual”: esto
significa que el estado actual de la máquina virtual es una variación basada en el snapshot creado
anteriormente.
Para volver a un snapshot previamente creado, desde la interfaz gráfica del VirtualBox:
Clicar en el item “Estado actual” y seleccionar “Descartar estado actual”. Esto llevará la máquina virtual
al estado del snapshot anterior más reciente.
Cuidado porque todo lo que se haya hecho después del snapshot al que hemos vuelto se habrá perdido
para siempre. (Para evitar esto, existe la posibilidad de tener un segundo disco virtual en modo “write-
through” -un parámetro del comando “VBoxManage registerimage disk” que no hemos visto -, modo que
hace que ese disco no se vea afectado por snapshots y por lo tanto se puedan guardar en él los datos que
queramos mantener siempre).
Para gestionar las instantáneas desde la interfaz de línea de comandos, se pueden utilizar las siguientes
órdenes:
VBoxManage snapshot Mimaquina
Crea una snapshot de la máquina virtual
take Nombresnapshot -desc descripcion
especificada
VBoxManage snapshot Mimaquina
Descarta (elimina) una snapshot
discard Nombresnapshot
VBoxManage snapshot Mimaquina
Revierte el estado de la máquina virtual al
discardcurrent {-state| -all}
snapshot más reciente (si se especifica -state), o
descarta dicha última snapshot y revierte dicho
estado al snapshot justo anterior (si se
especifica -all)
Las snapshots se guardan dentro de una carpeta llamada “Snapshots”, dentro de la carpeta particular para
cada máquina virtual existente, a no ser que se haya especificado otra cosa mediante el parámetro
-snapshotfolder de “VBoxManage modifyvm”.
RED EN LA MÁQUINA VIRTUAL:
Se pueden configurar hasta 4 tarjetas Ethernet en la máquina virtual, las cuales son simulaciones del
modelo AMD PCNet, ampliamente soportado de serie por todos los sistemas operativos, excepto el Vista.
El driver de la tarjeta de red para máquinas invitadas Vista se ha de instalar “manualmente”. Para ello, lo
que hay que hacer es simplemente instalar las “Guest Additions”, ya que el driver viene incluido allí.
Para habilitar una tarjeta de red, en la interfaz gráfica simplemente hay que ir al apartado “Configuración”-
>”Red” y marcar el dispositivo -hasta un máximo de cuatro- que se deseen habilitar, especificando además
el modo (”No conectado”, “NAT”, “Interfaz anfitrión”, “Red interna”), y pudiendo asignar además una
MAC aleatoria y definir si en ese momento el cable de red está desconectado o no.
Cuando se habilitan las tarjetas de red en la interfaz gráfica, el modo NAT es el seleccionado por defecto
para éstas. Este modo no exige ningún tipo de configuración extra y es el más conveniente en el 90% de los
casos, ya que con él:
*El invitado podrá conectarse al mundo exterior utilizando la red de la máquina anfitriona
*El mundo exterior se podrá conectar a los servicios que ofrezca la máquina virtual que se
hayan decidido (siempre y cuando se haya hecho previamente una redirección de puertos, ahora lo
veremos).
Para hacer lo propio con la interfaz de comandos, se puede escribir: VBoxManage modifyvm Mimaquina
-nic1 nat -macaddress1 auto -cableconnected1 on
El modo “Interfaz anfitrión” crea una tarjeta de red por software en la máquina anfitrión -es decir, que la
máquina anfitrión, además de tener el dispositivo “eth0″ (si es un Linux) , tendrá el dispositivo “vbox0″-,
de tal manera que la máquina anfitriona utilizará dicha nueva tarjeta para comunicarse con la tarjeta
correspondiente habilitada en la máquina virtual, como si tuvieran un cable entre ellas. Este modo se
utiliza sobre todo para temas de bridging y routing avanzado que no estudiaremos, ni necesitaremos. En el
modo “Red interna”, la red que es visible desde la máquina virtual sólo está formada por las otras
máquinas virtuales que pertenecen a la misma red interna, pero no por las aplicaciones corriendo en la
máquina anfitriona o en el mundo exterior.
En NAT, la máquina virtual se conecta a “un router”, que es el subsistema de red de VirtualBox, que mapea
transparentemente el tráfico de salida y de entrada de dicha máquina virtual. La desventaja del NAT es, al
igual que en una red privada detrás de un router, la máquina virtual es invisible e inalcanzable desde la red
exterior, por lo que no se puede poner en marcha un servidor a no ser que se haga redireccionamientos de
puertos.Esto significa que VirtualBox escuche en puertos determinados en el host y reenvíe todos los
paquetes que lleguen a él al sistema invitado en los puertos usados por los servicios que se desea tener a la
escucha en la máquina virtual . Para una aplicación del host o otras máquinas de la red, parecerá que el
servicios está realmente funcionando en el host (lo que significa que no se podrá hacer funcionando el
mismo servicio en el mismo puerto en el host). Por ejemplo, si quisiéramos tener un servidor SSH
(funcionando en el puerto 22 de la máquina virtual), deberíamos de escribir
VBoxManage setextradata ”Linux Guest”
“VboxInternal/Devices/pcnet/0/LUN#0/Config/guestssh/Protocol” TCP
VBoxManage setextradata ”Linux Guest”
“VboxInternal/Devices/pcnet/0/LUN#0/Config/guestssh/GuestPort” 22
VBoxManage setextradata ”Linux Guest”
“VboxInternal/Devices/pcnet/0/LUN#0/Config/guestssh/HostPort” 2222
con lo que el tráfico dirigido al puerto 2222 del sistema anfitrión será redireccionado al servidor SSH de la
máquina virtual. El nombre guestssh es un nombre arbitrario para una configuración de redireccionamiento
determinada. Para borrar dicha configuración, basta escribir las mismas líneas pero sin escribir los valores
finales.
Simplemente por curiosidad: la máquina virtual recibe su dirección IP y su configuración de red a partir
de un servidor DHCP interno que incorpora VirtualBox. La primera tarjeta tendrá una IP del tipo
10.0.2.0, la segunda 10.0.3.0, etc. Los paquetes de red salen del sistema operativo invitado, pasan por el
motor NAT de VirtualBox y se reenvían al sistema operativo anfitrión: para una aplicación de éste, o de
otra computadora de la misma red que la del anfitrión, parecerá que los datos son enviados por la
aplicación VirtualBox de la máquina anfitriona., utilizando la IP de la máquina anfitriona. VirtualBox
estará escuchando las respuestas de los paquetes enviados y los reenviará a la red privada de la máquina
invitada.
UTILIZAR UN SERVIDOR VRDP PARA EJECUTAR MÁQUINAS VIRTUALES REMOTAMENTE:
Hasta ahora nos hemos conectado siempre via SSH al servidor (Valinor) y hemos ejecutado desde allí la
máquina virtual elegida, pero visualizándola y controlándola desde la máquina local. Existe, no obstante,
otra manera bastante más optimizada, rápida y versátil para esto mismo, para ejecutar una máquina virtual
en un servidor remoto, desde una máquina cliente local.
Esta “otra” manera de utilizar el VirtualBox en un modo cliente-servidor a través de la red.se basa en el
empleo de dos elementos:
En la máquina local (cliente) Un cliente RDP.
El RDP (Remote Desktop Protocol) es un protocolo originalmente ideado
por Microsoft cuya finalidad es permitir el acceso (y el control) a
escritorio remotos. Es decir, si un usuario utiliza un cliente RDP para
conectarse a un servidor RDP, podrá visualizar y controlar gráficamente
el escritorio de éste. RDP es pues, un protocolo de similares objetivos a
otros como por ejemplo el protocolo VNC.
VirtualBox no incorpora ningún cliente RDP porque en esta máquina local
el VirtualBox no tiene porqué ni siquiera estar instalado: tanto éste como
las máquinas virtuales estarán alojadas y configuradas en la máquina
anfitriona remota. Para hacer uso de un cliente RDP en esta máquina,
podemos recurrir, si su sistema operativo es Windows, a la utilidad
mstsc.exe(accesible dentro del menú Inicio->Programas->Accesorios-
>Comunicaciones-> “Conexión a Escritorio Remoto” ). Si el sistema
operativo es Linux, un cliente RDP que podemos usar es rdesktop (el cual
se puede ejecutar así: rdesktop -a 16 ip_servidor_vrdp, donde el parámetro
-a indica la profundidad de color de 16 bits por pixel, que es la
recomendada.).
En la máquina anfitriona El servidor RDP de VirtualBox (el servidor VBoxVRDP).
remota (servidor)
Éste es el programa que realmente pone en marcha y ejecuta las máquinas
virtuales, pero lo hace de forma que su visualización se realiza a través de
los clientes RDP. Dicho de otra manera, la máquina que ejecuta el servidor
VRDP no hace falta que tenga instalado ningún sistema gráfico (ni X, ni
por supuesto librerías Qt o similares), ya que todo lo que procese (las
distintas máquinas virtuales en sus distintos estados) lo va a devolver a los
clientes RDP, los cuales serán los encargados de únicamente visualizar las
ventanas de esos sistemas virtuales ejecutados remotamente.Por tanto, en
síntesis, el servidor VRDP es el encargado de detectar las entradas de
teclado y ratón que se producen en los clientes remotos, procesarlas en la
máquina virtual pertinente que está ejecutando en local, y devolver otra
vez a los clientes la respuesta adecuada (en forma de actualizaciones de
gráficos y audio).
Tal como se acaba de explicar, VboxVRDP no produce salida visible en la máquina donde se está
ejecutando: sólo actúa de servidor que permite que la ventana de la máquina virtual se vea remotamente en
cualquier computadora cliente, posibilitando que se pueda controlar la máquina virtual desde allí, como si
dicha máquina virtual estuviera funcionando en la propia computadora cliente.
Pasos para poder utilizar esta estructura cliente-servidor:
1.-Lo primero de todo es entrar via SSH, desde nuestra computadora cliente, en el ordenador que hará de
servidor VRDP.
2.-Una vez allí dentro, si se han de crear/modificar máquinas virtuales o archivos VDI, se hará como
siempre, con el comando VBoxManage , sin ninguna novedad.
3.-El único paso diferente es, una vez ya se tiene creada y configurada la máquina virtual, ponerla en
marcha y visualizarla. Para ello, hay que hacer dos cosas:
3.1.-Habilitar explícitamente para la máquina virtual deseada la posibilidad de utilizarla
junto con un servidor VRDP. Esto se puede hacer en el apartado “Pantalla remota” de la interfaz gráfica,
(donde también se puede especificar entre otras cosas el número de puerto en el que escuchará el servidor
VRDP) o bien ejecutando el comando: VBoxManage modifyvm MimaquinaVista -vrdp on -vrdpport
{default|nºpuerto}
3.2.-Poner en marcha la máquina virtual, que en este caso se ha de hacer así:
VBoxVRDP -startvm Vista
No obstante, incomprensiblemente, en el servidor Valinor no existe el ejecutable VBoxVRDP, con lo que
es imposible probar esta posibilidad.
Recordemos que en la configuración de los dispositivos USB se podía especificar (en el cuadro de
definición de las reglas de los filtros, cuadro combinado “Remoto”) si se quería que dicho dispositivo se
pudiera conectar en la computadora cliente y que la máquina virtual funcionando en el servidor lo pudiera
detectar de forma transparente.
OTROS COMANDOS ÚTILES:
VBoxManage controlvm Mimaquina “Pause” suspende temporalmente la máquina virtual,
{pause|resume|reset|poweroff|
pintando su pantalla de gris. “Resume” deshace un
savestate}
“pause” previo. “Reset” apaga bruscamente la máquina,
con lo que el estado de la máquina virtual no se graba y
se pueden perder datos.”Poweroff” hace lo mismo que si
desconectáramos el cable de corriente de la máquina:
igual que en “reset”, el estado de la máquina virtual no
se graba y se pueden perder datos. “Savestate” graba el
estado actual de la máquina virtual y la para
(procedimiento recomendado)
VBoxManage controlvm Mimaquina Inserta una imagen iso de DVD, o bien conecta con una
dvdattach {none|rutaArchivo.iso| unidad de DVD de la máquina anfitriona, al vuelo
host:dispositivo}
(mientras la máquina virtual está funcionando). A
diferencia de “VBoxManage modifyvm”, no es
necesario registrar el archivo iso previamente.
Se pueden ver las unidades encontradas en la máquina
anfitriona y los nombres que usa VirtualBox para
acceder a ellas con el comando VBoxManage list
hostdvds .
VBoxManage controlvm Mimaquina Hace visible los dispositivos USB de la máquina
{ usbattach dirección| usbdettach anfitriona en la máquina virtual al vuelo, sin necesidad
dirección }
de haber creado previamente los filtros
correspondientes.
La “dirección” del dispositivo se puede obtener a partir
de VBoxManage list usbhost.
VBoxManage usbfilter {add|modify| Comando utilizado para gestionar los filtros de
remove}
dispositivos USB. Referirse a la referencia del manual
de VirtualBox (ver la Guia del Usuario, p.84 y p.97) ya
que contiene multitud de parámetros adicionales. Es más
cómodo utilizar la interfaz gráfica.
VBoxManage controlvm Mimaquina Conecta o desconecta los cables de las redes virtuales de
setlinkstate1 {on|off} -ó setlinkstate2 sus respectivas tarjetas de red.
ó setlinkstate3, etc-
VBoxManage list {vms|ostypes| vms: muestra información sobre las máquina virtuales
hostdvds|hostifs|hdds|dvds| usbhost| registradas, incluyendo su configuración y los archivos
usbfilters| systemproperties}
asociados con éstas.
ostypes:lista los sistemes operativos invitados conocidos
por VirtualBox, junto con su identificador, necesario
para usarlo con el comando “VBoxManage modifyvm”.
hostdvds:lista las unidades de DVD de la máquina
anfitriona y el nombre usado para acceder a ellas desde
VirtualBox.
hostifs:lista las interfaces de red de la máquina anfitriona
y el nombre usado para acceder a ellas desde VirtualBox
(NO se utiliza con NAT)
hdds:muestra información sobre los discos virtuales
registrados, incluyendo su configuración y los archivos
asociados con éstos.
dvds:muestra información sobre las imágenes iso
registradas, incluyendo su configuración.
usbhost: muestra información sobre los dispositivos
USB conectados a la máquina anfitriona, útil para la
construcción posterior de filtros.
usbfilters: muestra los filtros registrados actualmente por
VirtualBox (es decir, los filtros para los dispositivos que
pueden ser accesibles por las máquinas virtuales)
systemproperties: muestra valores globales de
configuración de VirtualBox, tal como la memoria RAM
y tamaño de disco duro mínimo y máximo de la máquina
anfitriona disponible, configuraciones de carpeta,etc.
VBoxManage
showvminfo Muestra información sobre una máquina virtual
Mimaquina [-details]
concreta. Es la misma información que muestra
VBoxManage list vms para todas las máquinas virtuales.
VBoxManage showvdiinfo Midisco
Muestra información sobre la imagen de disco virtual
VDI especificada; mayormente su tamaño, su tamaño en
disco, su tipo y las máquinas virtuales que lo usan.
VBoxManage setproperty
Especifica la ruta de la carpeta donde se alojarán los
vdifolder {default|rutaArchivosVDI} archivos VDI, y la ruta de la carpeta donde se alojarán
machinefolder
{default| los archivos que representan las distintas máquinas
rutaMaquinas}
virtuales
VBoxManage clonevdi
Duplica un archivo de un disco virtual registrado en otro
RutaarchivoVDIactual
archivo con un nuevo identificador interno. Esta nueva
RutaarchivoVDInuevo
imagen puede ser transferida a otro sistema anfitrión o
registrado de nuevo por VirtualBox como otro disco
diferente del anterior.
MISCELANEA:
VirtualBox instalado en un sistema anfitrión Linux accede a los dispositivos USB a través del sistema de
ficheros usbfs. Está documentado en diversos foros que a veces tiene problemas a la hora de utilizar los
puertos USB de la máquina virtual (que ya sabemos que es un mapeo de los puertos USB de la máquina
anfitriona). En esos casos, se recomienda editar el archivo de texto /etc/udev/rules.d/40-permissions.rules y
cambiar la línea
SUBSYSTEM==”usb_device”, MODE=”0664″
por ésta otra:
SUBSYSTEM==”usb_device”, MODE=”0666″ (dicho de otra manera, se ha de tener acceso de lectura y
escritura al sistema de ficheros usbfs). Otra manera de conseguir acceso de lectura y escritura a este sistema
de ficheros -y por tanto, solucionar el problema- , es añadir el usuario que esté utilizando VirtualBox al
grupo de usuario “usbusers”.
VirtualBox instalado en un sistema anfitrión Linux crea el archivo de texto /etc/vbox/vbox.cfg, el cual
contiene una única línea: INSTALL_DIR=”usr/lib/virtualbox” , cuyo significado es bastante evidente:
establece la carpeta de instalación del programa. También existirán enlaces simbólicos a los ejecutables
VirtualBox y VBoxManage en /usr/bin.
VirtualBox instalado en un sistema anfitrión Linux depende de los siguientes paquetes: Qt >3.3.5 y SDL
>1.2.7 para funcionar, aunque de hecho, estos paquetes sólo son usados por su interfaz gráfica.
Virtualbox instalado en un sistema anfitrión Linux incorpora un módulo propio para el kernel (/dev/
vboxdrv), imprescindible para el correcto funcionamiento del programa. El paquete de instalación del
programa ya trae unos cuantos módulos precompilados adecuados a la mayoría de los kernels, pero si
detecta que no hay ninguno que pueda venir bien, entonces compilará el módulo en ese momento (se puede
observar el proceso en /var/log/vbox-install.log). Cuando ya se tenga el módulo correcto (ya sea
compilándose in situ o con unos de los precompilados), a partir de entonces éste se cargará. siempre al
arranque del sistema anfitrión mediante el script /etc/init.d/vboxdrv.
VirtualBox instalado en un sistema anfitrión Linux puede dar un error en arrancar. Comprobar que esté el
módulo vboxdrv cargado (con el comando lsmod), y si no lo está, cargarlo con el comando modprobe
vboxdrv.Además, hay que hacer que el usuario que ejecutará el VirtualBox tenga permisos a /dev/vboxdrv.
Todos los usuarios en un sistema anfitrión Linux que necesiten ejecutar VirtualBox, deberán pertenecer al
grupo de usuarios “vboxusers”, creado durante la instalación de éste. Este hecho es así por el archivo
/etc/udev/60-vboxdrv.rules, donde se especifica entre otras cosas que el grupo vboxusers es el que tiene
permisos de lectura-escritura sobre el nodo de dispositivo del módulo /dev/vboxdrv (aspecto necesario para
el correcto funcionamiento del programa).
Si alguna vez el VirtualBox se queda colgado, o no hay manera de que alguna máquina virtual inicie
correctamente debido a un apagado brusco anterior o algún inicio corrupto de máquinas virtuales
ejecutadas anteriormente,etc, seguramente es porque todavía queda en el sistema anfitrión alguna instancia
zombie del proceso motor de VirtualBox que gestiona y controla la creación y ejecución de las máquinas
virtuales, el cual se llama VBoxSVC. Hay que matar dicho proceso. Si el sistema anfitrión es un Windows,
para ello simplemente hay que ir al “Administrador de tareas” e intentar finalizar la tarea. En Linux, basta
con utilizar el comando kill -9 PID, donde el PID del proceso lo podemos obtener previamente con el
comando ps -x (el parámetro -x indica que se muestren los procesos que no están asociados a ningún
terminal, ya que VBoxSVC NO es visible por pantalla.
