Máquina virtual en Debian Etch

A veces, hemos sentido la necesidad de emular el funcionamiento de otros sistemas operativos, otras distribuciones de Linux ó simplemente lanzar un CD live sin salirnos de nuestro ambiente de trabajo Linux. Ello es posible con qemu, el cual nos permite la creación de máquinas virtuales. Para instalarlo en Debian Etch:

apt-get install qemu

Una vez instalado, seguramente queremos probar inmediatamente como funciona. La manera más expedita es la de lanzar un CD live sin necesidad de salirnos de nuestra sesión de trabajo. Para ello, introducimos el CD live en la disquetera y en la parte superior de la ventana que se abre observamos como se denomina la unidad. Luego, hacemos un cat de nuestro fstab para ver a que dispositivo hace referencia. En mi sistema, cdrom0 corresponde al dispositivo /dev/hda de mi fstab. Por tanto, con el CD live en la disquetera, lanzamos en una cónsola el siguiente comando:

qemu -cdrom /dev/hda -boot d

y lo que aparece está reflejado en la siguiente imagen:

donde en la ventana de qemu tengo la posibilidad de lanzar mi Knoppix 5.1.1 con gran parte de su funcionalidad. Aunque no aparece en el comando anterior, una de las posibilidades adicionales que podemos usar en su ejecución es la asignación de la memoria que va a emplear la máquina virtual. Por defecto es 128 MB por lo que si hubiesemos deseado (y obviamente la tenemos disponible) usar 256 MB tendriamos que haber escrito:

qemu -cdrom /dev/hda -boot d -m 256

Para más información de las opciones de uso de qemu pueden remitirse, en cónsola, a qemu -h.

Por ahora, ya vimos que qemu funciona pero más útil sería usar la máquina virtual para lanzar el “CD live” a partir de la imagen *.iso, es decir, sin necesidad de “quemarla” en el medio físico (CD) y decidir, luego, si ello vale la pena (siempre cabe la posibilidad de que no nos guste). Si recien bajamos la imagen iso de la Knoppix 5.1.1., ello es posible con la ejecución del siguiente comando:

qemu -cdrom KNOPPIX_V5.1.1CD-ES-2007-01-09.iso

posicionados en el directorio donde está la imagen. Si estamos en otro lugar entonces tendríamos que señalar su ruta (siempre que tengamos los permisos suficientes de ejecución). El resultado es el mismo que se presenta en la imagen anterior para el Knoppix 5.1.1.

Otro uso que también podría resultar interesante es el de lanzar una segunda distribución de Linux que esté instalada en nuestro disco duro pero en el ambiente actual de trabajo. En mi caso, recien instalé la SuSE 10.2. y desde mi Debian Etch ello es posible (tengo un disco sata), en una cónsola como root, con:

qemu -snapshot -hda /dev/sda -m 256

La opción -snapshot hará que las modificaciones realizadas sean grabadas en un archivo temporal en lugar de la partición donde esté la SuSE 10.2. Esto ayuda a prevenir la pérdida de datos en las que la emulación se realiza en el mismo disco donde se ubica el sistema anfitrión. A continuación, una imagen donde se observa el grub de mi sistema para la ejecución de la SuSE 10.2 desde mi Debian Etch.

Allí también se tiene la posibilidad de lanzar el Windows XP y Dreamlinux. Sin embargo, por experiencia propia (y de otros) se debería usar el acelerador de qemu (cuya instalación se señala más adelante) para la ejecución de la SuSE 10.2 y de los otros sistemas operativos dentro de este ambiente; aunque no lo recomiendo. Es preferible a través de una máquina virtual individual, tal como se explica a continuación.

Si, por otra parte, lo que queremos es ejecutar una máquina virtual con un sistema operativo diferente u otra distribución de Linux, sin necesidad de crear particiones o formatear, lo que se tiene que crear es una imagen sobre la cual, a partir de cualquier medio de instalación disponible, le instalemos el sistema operativo elegido. En este caso, a modo de ejemplo, seleccioné la instalación de otro sistema Debian pero bajo la denominación de Sid (inestable). Para crear una imagen de 5 G, de nombre DEBIAN.img, se usa el siguiente comando:

qemu-img create DEBIAN.img 5G

Una vez creada, si queremos proceder a la instalación desde el CD, nos colocamos en el directorio donde está la imagen y ejecutamos el siguiente comando (hay que recordar que /dev/hda es el dispositivo correspondiente a mi disquetera):

qemu -hda DEBIAN.img -cdrom /dev/hda -boot d -m 256

La instalación transcurrirá como si se efectuase sobre un disco de 5 GB, con la diferencia de que es algo más lenta (reconoce la red, instala el sistema base y el grub, etc). Finalmente, una vez terminada la instalación, para ejecutar la máquina virtual con el nuevo sistema operativo instalado tendremos que lanzar el comando:

qemu -hda DEBIAN.img -m 256 -boot c

La siguiente imagen representa la máquina virtual del sistema Debian en el proceso de actualización a Sid.

Para salirnos de la sesión hay que hacerlo de manera similar a como lo haríamos en nuestro Debian no virtual a fin de no corromper el sistema de archivos.

Como en el caso anterior, para crear una imagen de 5 G que albergará un sistema Windows XP ejecutaremos el siguiente comando:

qemu-img create WINDOWS_XP.img 5G

Para iniciar la instalación:

qemu -hda WINDOWS_XP.img -cdrom /dev/hda -boot d -m 256

Luego, para arrancar el Windows XP en la máquina virtual es imprescindible instalar primero el módulo acelerador kqemu. En mi sistema anfitrion Debian, con kernel 2.6.18-4-686, instalé a través de synaptic los siguientes paquetes:

kqemu-common, kqemu-modules-2.6.18-4-686 y kqemu-modules-2.6-686 (los tres son necesarios).

Para cargar posteriormente el módulo kqemu, en una cónsola como root, hay que hacer:

modprobe -v kqemu

lo que resultó en la esperada aceleración para la máquina virtual y la apertura del Windows XP con:

qemu -hda WINDOWS_XP.img -m 256 -boot c

Si queremos que el módulo acelerador esté siempre disponible desde el inicio sólo hay que editar el /etc/modules (como root) y añadir una línea que señale kqemu.

Sin embargo, a diferencia de mi Linux Debian donde con apt bajo cualquier cosa que me plazca desde Internet, con el Windows XP debo recurrir generalmente a CDs de instalación de paquetes de software (antivirus, compiladores, quemadores, office, etc). Para tenerlos disponibles en mi sistema tengo que lanzar el siguiente comando:

qemu -hda WINDOWS_XP.img -m 256 -boot c -cdrom /dev/hda

y así poder acceder a mi disketera (que en mi caso particular el dispositivo es /dev/hda).

Para tener la máquina virtual corriendo en pantalla completa hay que hacer [Ctrl] + [Alt] + f. En este punto, su operación es difícil de difererenciar de aquel que se encuentra ocupando exclusivamente una partición.

Para salir correctamente de la sesión de Windows XP en la máquina virtual hay que seguir los mismos pasos que para el apagado normal de aquel instalado en una partición. Aunque en mi caso el Windows se apaga automáticamente, si les sale el mensaje de “Ya puede apagar su equipo” se debería abrir la cónsola qemu con [Ctrl] + [Alt] + 2 y teclear el comando q (quit) + [Enter]. Otro comando útil para la cónsola qemu es el que permite verificar si el módulo acelerador está cargado: info kqemu [Enter].

Esta entrada fue publicada en Linux, Virtualización. Guarda el enlace permanente.

Responder

Por favor, inicia sesión con uno de estos métodos para publicar tu comentario:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s