Vía Genbeta me entero de que está disponible VirtualBox, otro software de virtualización de código libre, disponible ahora mismo para usuarios de Windows y Linux.
Pese a que en estos momentos ya conviven en mi equipo Parallels y VMware Workstation (si bien es cierto que el primero de ellos apenas lo utilizo), no me he podido resistir a instalar también VirtualBox, para ver cómo se comporta...
Bajo Linux, VirtualBox dispone de paquetes listos para Debian y Ubuntu, pero los felices usuarios de Arch Linux también disponemos de dos paquetes para nuestra distribución en AUR, uno conteniendo el propio programa y otro los módulos del kernel. Tras satisfacer algunas dependencias previas, la compilación y posterior instalación de VirtualBox es coser y cantar, si bien un poco larga incluso en una máquina potente.
Una vez instalado, tecleas virtualbox y... Arghh!! ¡Instrucción Ilegal y un infame Segmentation Fault! Pues sí que empezamos bien:
Bueno; el mensaje habla de que quizás el servidor no está en marcha. Quizás sea ésa la causa. Pero, ¿dónde se explica cómo echar a andar el servidor? En el manual de usuario (inglés, pdf) no lo encuentro a primera vista...
En vez de seguir buscando en el pdf me voy a la web de AUR, donde existe un script de aspecto prometedor. Lo llamaremos vbox.sh y su contenido será:
#!/bin/sh
cd /opt/virtualbox
export LD_LIBRARY_PATH=$PWD:$LD_LIBRARY_PATH
xpcom_running=`ps aux|grep VBoxSVC|grep -v grep`
if test -z "$xpcom_running"; then
./VBoxSVC&
fi
./VirtualBox
Le damos permisos de ejecución (chmod +x vbox.sh) y ahora sí, al teclear ./vbox.sh, por fin arranca el programa:
Al pulsar sobre New se arranca el habitual Wizard, o asistente de creación de una máquina virtual:
Nada más empezar se nos presentan las opciones habituales:
Están predefinidas las máquinas para DOS, Windows (3.1 a Vista), OS/2 Warp (3, 4 y 4.5), Linux (2.2, 2.4 y 2.6), varios BSD (NetBSD, FreeBSD y OpenBSD), Netware, Solaris y L4.
Como parece que la primera entrega ha despertado bastante interés, retomo ahora el asunto justo donde lo dejé: en el momento de proceder a crear alguna máquina virtual.En mi opinión no hubiera estado nada mal probar VirtualBox con Solaris (bastante pesado de virtualizar en VMware) o con el exótico L4, pero los lectores mandan, y a la vista del espontáneo interés suscitado por Windows Fundamentals for Legacy PCs (que alguien definió por aquí como un "XP capado") vamos a darle un tiento a tan curioso artilugio...
Editado (19-Ene, 23:20): Acabo de añadir al final del artículo cómo aumentar el tamaño y resolución de la pantalla del Windows virtual.
Siguiendo las instrucciones de la primera entrega, empezaremos a crear una máquina virtual de tipo "Windows XP". Aceptaremos la RAM propuesta:
Crearemos ahora la correspondiente imagen de disco virtual:
A diferencia de VMware, VirtualBox no recomienda dar a este disco un tamaño fijo a priori, así que me inclino por uno cuyo tamaño vaya creciendo a medida que se necesita:
Damos un nombre obvio a nuestro disco virtual y aceptamos el tamaño por defecto:
De acuerdo. Aceptamos la propuesta:
Seleccionamos como disco de arranque el que acabamos de crear:
Si no estás conforme con el resumen, es tu última oportunidad para cambiar algo:
Vale; tu nueva máquina virtual (o más bien, su receptáculo virtual) tiene estas características:
Algunas cosas no te convencerán, pero resulta fácil cambiarlas:
Por ejemplo, para tener desde dónde instalar hay que montar la unidad de CD o una imagen ISO:
Tampoco estaría mal activar el sonido:
En la configuración de red me llaman la atención dos cosas: la ausencia de una opción bridged y la posibilidad de generar una MAC aleatoria para el adaptador de red:
Cuando todo esté a nuestro gusto procedemos a arrancar la máquina, para comenzar la instalación del sistema. Pero no va a resultar tan fácil:
Parece que el driver o módulo necesario no está aún cargado en el kernel. Y basta un lsmod para comprobarlo. Vale; pues carguemos el módulo (como root):
# modprobe vboxdrv
Pero tampoco esto es suficiente:
Ahora se trata de un problema de permisos. Lo solucionamos así:
chown usuario:wheel /dev/vboxdrv
donde usuario has de cambiarlo por tu propio nombre de usuario.
Pero, ¿hay que usar estos dos comandos cada vez que se quiere usar VirtualBox?. Eso sería un latazo, así que mejor crear un script (fuente AUR) que se ejecute en el arranque. En el caso de Arch, basta colocar el script en /etc/rc.d y añadir su nombre a la lista de modulos de /etc/rc.conf:
#!/bin/bash
. /etc/rc.conf
. /etc/rc.d/functions
case "$1" in
start)
stat_busy "Starting VirtualBox"
# VirtualBox module
/sbin/modprobe vboxdrv || exit 1
# change group of /dev/vboxdrv
chown :wheel /dev/vboxdrv || exit 1
if [ $? -gt 0 ]; then
stat_fail
else
add_daemon virtualbox
stat_done
fi
;;
stop)
stat_busy "Stopping VirtualBox"
killall -q VBoxSVC || exit 1
rmmod vboxdrv || exit 1
if [ $? -gt 0 ]; then
stat_fail
else
stat_done
rm_daemon virtualbox
fi
;;
restart)
$0 stop
sleep 1
$0 start
;;
*)
echo "usage: $0 {start|stop|restart}"
esac
Ahora sí logramos arrancar, si bien hay que prestar atención a este mensaje:
Se nos avisa de que está activa la autocaptura del teclado, es decir, que la ventana virtual toma el foco, de modo que lo que teclees irá directamente a la máquina virtual, con lo que ratón y teclado dejan de funcionar sobre la máquina que hace de host (Linux, en nuestro caso). Se trata de una funcionalidad similar a la de Vmware y Parallels, pero que aquí se comporta de un modo un poco diferente, de forma que hasta que te aclaras puedes desesperarte bastante. Y es que en VirtualBox no vale pulsar Ctrl y Alt a la vez para saltar al host, sino que son otras las teclas y han de ser pulsadas consecutivamente, y no a la vez. Lo que yo hice de inmediato fue cambiar las teclas predefinidas a las dos que son comunes en VMware (mencionadas antes):
Activa la casilla de autocaptura y sitúa el cursor sobre el recuadro Host Key. Pulsa ahora la tecla o teclas que quieras utilizar para cambiar de máquina virtual a host.
Ahora sí que todo va como la seda:
Ojo, que nadie se llame a engaño aquí, que un XP "capado" tampoco es un XP regalado. Mira si no cómo pide número de licencia (y también requerirá activación):
La personalización de la instalación sí que es curiosa... ¿No habíamos quedado en que Explorer era inseparable de Windows?
Bueno; ya no hay marcha atrás:
¿Preparado para varios reinicios? Afortunadamente sólo es la máquina virtual la que se reinicia...
El proceso ha sido largo, pero cada vez estamos más cerca:
Este es el aspecto de un Windows Fundamentals virtualizado en VirtualBox:
Y aquí va la imagen final, con Windows Fundamentals ejecutándose mediante VirtualBox en una máquina Linux:
Con Windows ya funcionando puedes utilizar el menú de VirtualBox (Devices -> Install Guest Additions) para instalar las herramientas que te permitirán aumentar la resolución de pantalla a 1024x768 o más si tu tarjeta y monitor te lo permiten:
Esto es todo. Lógicamente todas las pantallas de Windows son propiedad de Microsoft y se muestran sólo con fines didácticos. Quien quiera virtualizar Windows Fundamentals deberá adquirir una licencia a Microsoft, pero también se puede seguir un proceso similar para virtualizar cualquier Windows del que sea legal propietario.
Quien no quiera -o no pueda- pagar licencias a Microsoft, que virtualice Linux, Solaris o BSD y tan amigos.
1 comentario:
Publicar un comentario