Tengo ya buen tiempo de ser "adicto" al uso de máquinas virtuales, ya sea para probar el beta de algún producto o para desarrollo de aplicaciones como tales (no me gusta mezclar entornos de desarrollo), al principio cuesta un poco acostumbrarse pero luego hasta se hace necesario. Acostumbro a tener una máquina virtual por tecnología o uso, por ejemplo, uso Debian como servidor Linux para muchas cosas, por lo general web development en Pylons o para los ejemplos que suelo escribir de PHP (recuerdan la serie de daemons en PHP? bueno, todo fue probado en una máquina virtual :P), bueno, en vez de utilizar VMWare uso Virtual PC, por muchas razones, la primera VPC es gratuito (ya sé que alguien me va a decir que VMWare también, pero recuerden que solo el VMWare Player), la integración con Windows tanto de Cliente como de Host y además la facilidad de configuración. Alguna vez leí que VPC estaba a "años luz" atrás de VMWare, bueno, realmente es algo que me tiene sin cuidado, porque para lo que uso VPC me es más que suficiente :P
Creo que VPC 2007 es un download que vale la pena, con tan solo 30M vale la pena intentar, pueden bajarlo desde el sitio de VPC (http://www.microsoft.com/windows/products/winfamily/virtualpc/default.mspx) y si tienen discos de máquinas virtuales VMWare y quieren correrlos dentro de VPC entonces pueden probar el "convertidor de imágenes VMW - VPC" (puchicas, suena como promoción de vendedor de parque :P), ahora si en serio, esta herramienta junto con la VHDResize pueden llegar a ser sumamente útiles.
Quizás uno de los problemas cuando probemos VPC será la pregunta "y cómo hago para comunicarme con mi máquina virtual por medio de la red?". En la configuración de red de la máquina virtual aparecen el número de adaptadores que queremos en nuestra MV, y dentro de cada uno de esos adaptadores podemos escoger la opción "no conectada" (equivalente a no red), "local" (indica que es una red privada con la maquina virtual, o sea, en realidad la red está en una cajita protegida a la cual no hay ni salida ni entrada), "NAT compartido" (la VPC le asigna un IP al adaptador y cada petición es sacada por nuestro IP, en realidad es como un FW en miniatura) y luego aparecerán opciones por cada uno de los adaptadores que tengamos, por ejemplo, en mi caso tengo un adaptador wireless y uno ethernet, entonces aparecerán cada uno de ellos en la lista (en este último caso se comportaría como si fuera otra PC en nuestra red). En todos estos casos para "ver" la máquina virtual como una máquina en la red tendríamos que usar una de las interfaces de red "reales" que enumera, el problema radicaría en que si no estamos "conectados" a una red o simplemente "no tenemos interface de red" como la veríamos? bien, la forma más fácil es usando un adaptador de Loopback. El procedimiento es sencillo, vayan a "Mi PC" -> Propiedades -> Administrador de dispositivos -> Agregar legacy hardware -> sigan el asistente y luego seleccionen "Instalar el software desde una lista" -> Adaptadores de red -> Microsoft -> Microsoft Loopback Adapter -> finalizen el asistente. Una vez instalado el Loopback adapter podemos configurarlo como una red privada como si fuera otra interface de red, y seleccionamos en la máquina virtual que la interface de red es Loopback Adapter y dentro podemos configurarla como si fuera otra interface. Por ejemplo, mi loopback en el host es 192.168.10.1 y configuro en la MV que usará Loopback adapter, y dentro del sistema operativo "cliente" (o sea el que está dentro de la máquina virtual) le digo que la red será 192.168.10.2, Voila! puedo hacer ping entre ambas máquinas virtuales ahora!
Por lo general configuro mis máquinas virtuales con dos interfaces de red, una externa usando Shared NAT o uno de los adaptadores "reales" de mi Host PC para salir a internet y una Loopback privada para acceder dentro de mi Host a la MV.
Otro problema que puede pasar, especialmente con Debian (este ha sido mi caso, quizás pase con alguna otra distro Linux) es que el reloj interno de la máquina virtual pierde la sincronización y siempre se adelanta un montón. Al parecer esto se debe al tipo de RTC que utiliza el kernel de Linux, funciona tan rápido en la VPC que se adelanta :P. Bien, la solución es fácil, sólo hay que cambiar el tipo de RTC usado por el kernel y poner el RTC anterior para eso simplemente agreguen como línea o parámetro de ejecución del kernel "clock=pit" ya sea en el menú de configuración del GRUB o del LILO (no explicaré como hacer esto, creo que sería fácil buscarlo en internet).
Si quieren seguir experimentando con VPC les aconsejo que se den una vuelta por el blog del "VirtualPC Guy" uno de los PM de VPC en Microsoft, que además de contarnos sobre cosas interesantes de VPC también escribió por buen rato sobre "legacy games in VPC", yep, por si acaso quieren recordar aquellos tiempos donde jugaban Doom en DOS :P
Otro buen lugar es el centro de VHDs de Microsoft, donde podemos bajar imágenes virtuales de prueba ya instaladas de varias tecnologías (de hecho en el sitio de VPC pueden bajar VHDs de productos de otras compañías). Por último, si son realmente curiosos hay una especificación del formato usado por los VHDs, lo pueden conseguir en http://www.microsoft.com/technet/virtualserver/downloads/vhdspec.mspx
Espero que perdonen mi falta de habilidad al redactar, tengo ya tanto tiempo de no "bloggear" ni escribir que hasta me asusto al leer este post :S, espero tener otra entrega pronto y que disfruten en su máquina virtual más cercana. Saludos!