sábado, 2 de junio de 2007

Instalacion Virtual Box

Este texto es sacado de otro blog, pero que me gusto mucho y funciona y es instalar La maquina virtual VirtualBox y luego instalar Windows para aquellos miticos programas que Ubuntu aun no resiste.

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:

Error inicial de Virtual Box

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:

Pantalla inicial de Virtual Box

Al pulsar sobre New se arranca el habitual Wizard, o asistente de creación de una máquina virtual:

El wizard de Virtual Box

Nada más empezar se nos presentan las opciones habituales:

Nueva maquina virtual en Virtual Box

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:

Memoria RAM

Crearemos ahora la correspondiente imagen de disco virtual:

Nuevo 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:

Disco dinamico

Damos un nombre obvio a nuestro disco virtual y aceptamos el tamaño por defecto:

Nombre y tamaño del disco virtual

De acuerdo. Aceptamos la propuesta:

Resumen del disco virtual

Seleccionamos como disco de arranque el que acabamos de crear:

Elegir disco de arranque

Si no estás conforme con el resumen, es tu última oportunidad para cambiar algo:

Resumen para confirmar

Vale; tu nueva máquina virtual (o más bien, su receptáculo virtual) tiene estas características:

Caracteristicas nueva maquina

Algunas cosas no te convencerán, pero resulta fácil cambiarlas:

Configuracion general

Por ejemplo, para tener desde dónde instalar hay que montar la unidad de CD o una imagen ISO:

Habilitar CD o Imagen ISO

Tampoco estaría mal activar el sonido:

Activar 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:

Configurar 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:

Fallo!

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:

Fallo!

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:

Captura del teclado

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):

Modificar teclas de captura

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:

Arrancando

Arrancando

Arrancando

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):

Licencia

La personalización de la instalación sí que es curiosa... ¿No habíamos quedado en que Explorer era inseparable de Windows?

Opciones de instalacion

Bueno; ya no hay marcha atrás:

Formateo

¿Preparado para varios reinicios? Afortunadamente sólo es la máquina virtual la que se reinicia...

Instalando

Instalando

Instalando

El proceso ha sido largo, pero cada vez estamos más cerca:

Login

Este es el aspecto de un Windows Fundamentals virtualizado en VirtualBox:

Windows Fundamantals

Y aquí va la imagen final, con Windows Fundamentals ejecutándose mediante VirtualBox en una máquina Linux:

Imagen de conjunto

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:

Mayor resolucion

Mayor resolucion

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:

Anónimo dijo...
Este comentario ha sido eliminado por un administrador del blog.