Hace unos días he tenido que crear una máquina virtual para ejecutar Windows XP sobre CentOS. Como esta distribución viene con
Xen integrado me decidí a probarlo, en vez del más conocido
VMware.
La creación de la máquina virtual es trivial, teniendo una pequeña aplicación que permite elegir los recursos asignados y el sistema operativo que va a ejecutar. Ofrece dos modelos de virtualización: paravirtualización y virtualización completa por harware.
La
paravirtualización requiere que el kernel del sistema operativo hospedado (también llamado domU) esté modificado y sea consciente de la situación, para poder cooperar debidamente con el anfitrión (conocido como dom0).
La virtualización completa o por hardware requiere que el procesador tenga las instrucciones (Intel VT ó AMD-V) que permitan al dom0 virtualizar a un sistema operativo sin modificar, aunque esto sólo se da en procesadores modernos y, en ocasiones, estas extensiones están desactivadas en la BIOS por motivos de seguridad (para evitar posibles rootkits, pero pueden reactivarse en el menú de gestión).
Puesto que Windows se compra como es, y no se puede modificar el kernel, la única opción es la virtualización completa.
La instalación en principio es muy sencilla pues al crearse la máquina virtual se arranca el CD de instalación del sistema operativo. El problema llega cuando el programa de instalación realiza el primero de sus muchos reinicios del sistema: al arrancar de nuevo ya no encuentra el CD de instalación.
La solución es simple: no hay más que indicarle a la máquina virtual que emplee la unidad de CD física cono unidad propia de CD. Para ello hay que detener la ejecución de la máquina y editar su archivo de configuración. Puesto que su sintaxis es un poco oscura vamos a hacerlo con una versión exportada en XML. Para ello no hay más que teclear en la consola:
virsh dumpxml nombre_maquina > nombre_maquina.xml
Con esta orden obtenemos la configuración de una manera bastante legible. Ahora, tal y como se explica
aquí, vamos a crear un nuevo dispositivo entre las etiquetas
<devices>
y
</devices>
.
<disk type='block' device='cdrom'>
<driver name='phy'/>
<source dev='/dev/hdc'/>
<target dev='hdc'/>
<readonly/>
</disk>
Habrá que modificar
hdc para que refleje el dispositivo que en cada máquina representa a la unidad de disco.
Tras este paso aplicamos de nuevo la configuración en formato XML a la máquina virtual, con el comando:
virsh define nombre_maquina.xml
Una vez hecho esto no hay más que volver a arrancar la máquina y el programa de instalación encontrará el CD sin problemas, concluyendo el proceso satisfactoriamente.
¡Y ya tenemos una nueva máquina virtual con Windows XP!