Probablemente hayas oído más de una vez eso de las "máquinas virtuales" y, si estás leyendo en este texto, lo más probable es que no estés seguro de qué son exactamente. No te dejes engañar por su misterioso nombre, pues aunque su funcionamiento interno es muy complejo, el concepto en sí es sencillo y las usas cada día.
Una máquina virtual no es más que un software capaz de cargar en su interior otro sistema operativo haciéndole creer que es un PC de verdad. Tal y como su nombre indica, el concepto es tan sencillo como crear una máquina (PC, consola, móvil o lo que sea) que en vez de ser física es virtual o emulada.
¿Qué es una máquina virtual?
Una vez nos ha quedado claro que una máquina virtual no es realmente ninguna máquina llena de engranajes con un casco de realidad virtual, sino un software, entremos más en detalle sobre qué son las máquinas virtuales.
Lo primero que debes saber es que hay dos tipos de máquinas virtuales diferenciadas por su funcionalidad: las de sistema y las de proceso, si bien la gran mayoría de las veces que oigas hablar de una máquina virtual casi seguro que se estarán refiriendo a las de sistema.
Máquinas virtuales de sistema
Una máquina virtual de sistema es aquella que emula a un ordenador completo. En palabras llanas, es un software que puede hacerse pasar por otro dispositivo -como un PC- de tal modo que puedes ejecutar otro sistema operativo en su interior. Tiene su propio disco duro, memoria, tarjeta gráfica y demás componentes de hardware, aunque todos ellos son virtuales.
Que sus componentes sean virtuales no quiere decir necesariamente que no existan. Por ejemplo, una máquina virtual puede tener unos recursos reservados de 2 GB de RAM y 20 GB de disco duro, que obviamente salen de algún sitio: del PC donde está instalada la máquina virtual, también llamado a veces el hipervisor, el host o el anfitrión. Otros dispositivos podrían realmente ser inexistentes físicamente, como por ejemplo un CD-ROM que en verdad es el contenido de una imagen ISO en vez de un lector de CD de verdad.

Para el sistema operativo que se ejecuta dentro de la máquina virtual toda esta emulación es transparente e invisible. Todo funciona igual a si se estuviera ejecutando en un PC normal, sin que sepa que en verdad está metido dentro de una burbuja dentro de otro sistema operativo. De hecho, nada te impide hacer como en la película Inception / Origen y crear otra máquina virtual dentro de la anterior máquina virtual.

En su burbuja, la máquina virtual no puede acceder al resto de datos de la máquina anfitrión a pesar de estar físicamente funcionando en la misma, están aisladas. No obstante, las principales aplicaciones de máquinas virtuales como VirtualBox o VMWare disponen de atajos y herramientas para facilitar la tarea de pasar archivos de una máquina a otra.
Para funcionar, una máquina virtual mapea los dispositivos virtuales que ofrece a su invitado con los dispositivos reales presentes en la máquina física. Por ejemplo, la máquina puede estar emulando una tarjeta de sonido Sound Blaster de 16 bit, aunque en verdad está conectada con la tarjeta de sonido interna de la placa base de tu PC portátil que es Realtek.
La virtualización puede ser por software o con apoyo mediante el hardware, en cuyo caso se obtiene un mejor rendimiento. Desde 2005 es común que los procesadores cuenten con tecnología de virtualización por hardware, aunque no siempre está activada por defecto en la BIOS.
Máquinas virtuales de proceso
Una máquina virtual de proceso es menos ambiciosa que una de sistema. En vez de emular un PC por completo, ejecuta un proceso concreto, como una aplicación, en su entorno de ejecución. Suena algo esotérico, pero lo usas cada vez que ejecutas una aplicación basada en Java o basada en .NET Framework.
Esto es de utilidad a la hora de desarrollar aplicaciones para varias plataformas, pues en vez de tener que programar específicamente para cada sistema, el entorno de ejecución (es decir, la máquina virtual) es el que se encarga de lidiar con el sistema operativo.

Las máquinas virtuales de proceso te permiten disfrutar de aplicaciones que se comportan de forma igual en plataformas tan distintas como Windows, Mac o Linux, pero tú como usuario normalmente no les prestarás mucha atención. Por eso, salvo que seas programador, generalmente cuando se habla de máquinas virtuales nos estamos refiriendo a las de sistema.
Para qué se usan las máquinas virtuales
Todo esto está muy bien, pero ¿para qué querría alguien crear un PC virtual dentro de su PC? Aunque así de entrada pudiera parecer una idea algo trivial, la verdad es que las máquinas virtuales tienen una gran variedad de utilidades tanto en el entorno profesional como en el del consumidor final. Estos son los principales usos:
- Para poder probar otros sistemas operativos. Instalar un sistema operativo en tu PC es un proceso largo, aburrido y difícil de revertir si no estás satisfecho con los resultados. Así, cuando hay una nueva versión de Windows es más fácil y seguro probarla instalándola en una máquina virtual que en tu disco duro. Si algo va mal, la borras y se acabó, sin arriesgarte a perder mucho tiempo o tus datos.
- Para ejecutar programas antiguos. ¿Qué pasa cuando tu negocio depende de un software que no se actualiza desde hace 20 años? Si no puedes modernizar el software no te queda otra que seguir cargándolo en un sistema operativo de su época. Con una máquina virtual este sistema antiguo puede funcionar en hardware actual en vez de en una chatarra de PC. Lo mismo se puede aplicar a juegos antiguos que han dejado de funcionar en hardware o software moderno.
- Para usar aplicaciones disponibles para otros sistemas. También es posible que necesites una máquina virtual para ejecutar aplicaciones que han sido desarrolladas para otro sistema operativo distinto al que estás usando. Por ejemplo, para usar una aplicación para Linux desde Windows, o vice versa.
- Para probar una aplicación en distintos sistemas. Como desarrollador de una aplicación te interesa que funcione correctamente en la mayor cantidad de configuraciones posibles, y eso incluye distintas versiones de sistemas operativos. Una opción es tener media docena de PC instalados con distintas versiones de Windows... o simplemente uno con máquinas virtuales de cada versión.
- Como seguridad adicional. Al estar aislada del resto, una máquina virtual te proporciona una seguridad adicional en tareas precisas en las que quieres estar seguro de que una aplicación no tendrá acceso al resto de tus datos. Es por eso que se suelen usar para hacer cosas tan peligrosas como instalar virus y malware para estudiarlos.
- Para aprovechar su gran dinamismo. Por su naturaleza las máquinas virtuales son muy útiles en ocasiones donde necesitas un extremo dinamismo en el sistema. Puedes guardar estados (copias exactas de sus datos), ampliarlas, moverlas a un hardware totalmente distinto y seguirán funcionando sin problemas. Por esto son imprescindibles por ejemplo en empresas con servidores web que hospedan multitud de máquinas con las páginas web de sus clientes.
Todos estos usos vienen con una pega principal: el rendimiento. Como es de esperar, si el hardware de tu PC se usa para mover dos sistemas operativos a la vez en vez de uno, el rendimiento se resiente. Además, aunque cada vez las aplicaciones para crear máquinas virtuales son más eficientes y el hardware más potente, emular un sistema siempre requiere un esfuerzo extra que no es necesario si el software se pudiera comunicar directamente con el hardware, sin intermediarios.
Cómo se usa una máquina virtual
Para usar una máquina virtual lo primero que necesitas es instalar una aplicación en tu PC capaz de crearla o al menos reproducirla. Hay varias aplicaciones muy conocidas capaz de hacer esto, aunque las más famosas son VMWare, VirtualBox, QEMU y Parallels.
La importancia de una máquina virtual para asegurar el funcionamiento de software antiguo es tanta que Microsoft ha lanzado durante estos años varios programas para Windows con este fin. Es el caso del Virtual PC, Windows XP Mode o el nuevo HyperV.
Por su naturaleza de código abierto, gran compatibilidad con multitud de sistemas operativos anfitriones e invitados, nosotros nos vamos a centrar en VirtualBox, pero probablemente obtendrás resultados similares con el resto de programas.
Instalación de VirtualBox
Las aplicaciones de máquinas virtuales suelen ser tirando a pesadas, y VirtualBox no es una excepción. Desde la página de descarga elige la que corresponda a tu sistema operativo y la arquitectura del sistema y descárgala. El archivo ocupa algo más de 100 MB.
La instalación no es realmente complicada, aunque algunas de las ventanas de opciones te pueden hacer dudar preguntándote qué componentes quieres o no quieres instalar. La solución es sencilla: déjalo todo activado como está y pulsa Siguiente.

No te preocupes, VirtualBox es una aplicación de fiar y su instalador no incluye ninguna sorpresa desagradable. Lo único que tienes que tener en cuenta es que en un momento de la instalación tu conexión a Internet se perderá durante unos segundos para instalar el controlador de red virtual. La propia instalación te avisa antes de que esto suceda.
Durante la instalación es posible que se te pida confirmación para instalar controladores para los distintos dispositivos virtuales. Una vez más, que no cunda el pánico, todo es completamente normal y necesario. Acepta.

Al poco tiempo ya habrá terminado la instalación. Enhorabuena, ya tienes todo lo necesario para empezar a usar tu máquina virtual.
Crea tu máquina virtual
Para empezar a jugar a ser Dios con tu PC y crear mundos virtuales tienes dos opciones: o bien creas una máquina virtual desde cero o importas una ya creada. Lo más común es que quieras empezar de cero, ya que es más común que tengas una imagen ISO con el sistema operativo que una completa imagen de disco duro virtual.
Pulsa el botón Nueva para comenzar la creación. En el primer paso debes elegir el sistema operativo que tienes pensado instalar. Yo en mis pruebas y por amor a la ciencia y a lo retro voy a instalar Windows 3.1 en mi máquina virtual.

En los siguientes pasos del asistente debes especificar cuántos recursos de tu PC vas a destinar a la máquina virtual. Primero te pregunta por la memoria RAM, donde debes elegir un valor equilibrado para no ahogar a tu sistema operativo principal. Para Windows 3.1 no tengo ningún problema (sus requisitos oficiales son de 2 MB de RAM), pero si estás instalando algo más actual como Windows 10 deberías asignarle al menos 1 GB de RAM.

El siguiente paso es un poco más complicado: el disco duro virtual. Los discos duros virtuales pueden reusarse de una máquina virtual para otra, o importar discos duros ya creados en casi cualquier formato posible (VHD, VMDK, HDD...) Lo más normal es que quieras crear uno nuevo, en cuyo caso se te pide que elijas un formato y un tamaño.

Las opciones preseleccionadas son correctas en la mayoría de los casos. Aunque esté seleccionada la opción de Reservado dinamicamente, todavía necesitas elegir un tamaño fijo en la siguiente ventana. La diferencia es que si eliges tamaño fijo, ese tamaño máximo estará siempre ocupado en tu PC anfitrión (aunque en la máquina virtual esté vacío).
Una vez más, depende de qué sistema estés instalando para que necesites más o menos espacio en el disco duro virtual. Ten en cuenta no solo lo que ocupa el sistema operativo, sino cualquier otra aplicación que vayas a instalar, archivos temporales y los archivos de usuario. Mejor que sobre un poco a que falte, no dejes al sistema invitado asfixiado sin espacio.
Tras esto se crea la máquina virtual... Bueno, más o menos. Lo único que hemos creado es el entorno para poder instalar cierto sistema operativo, pero como tal no hay nada en su interior... todavía.
Conecta la ISO de instalación
El método más común para instalar un sistema operativo en una máquina virtual es simular un CD de instalación mediante imágenes de disco ISO. Si tienes un DVD de instalación real, también lo puedes usar.
Lo primero que debes hacer es montar el CD o DVD de instalación en tu recién creada máquina virtual. Para ello, selecciónala y elige Configuración. Aquí encontrarás muchos apartados con los que puedes jugar más tarde para afinar la emulación del sistema, pero por ahora simplemente dirígete a Almacenamiento.
Aquí VirtualBox debería haberte preparado ya una unidad de CD, DVD o disquetera según en qué sistema operativo y versión esté basada la máquina virtual. En cualquier caso el funcionamiento es el mismo: elige el dispositivo y haz clic en el icono al lado de su nombre para cargar la imagen de disco que quieres montar en su lugar. En mi caso tengo tres imágenes de disco para instalar MS-DOS primero, así que he montado la primera.

Ahora es momento de arrancar por primera vez la máquina virtual.
Ya está lista, ahora a instalar...
Vuelve a la ventana principal de VirtualBox y pulsa Iniciar para que empiece la magia. Si todo ha ido bien, se cargará el proceso de instalación del sistema operativo que has montado en la unidad de CD, DVD, USB o disquetera, y a partir de ese momento simplemente deberás seguir las instrucciones en pantalla.

Desde la barra inferior de la ventana tienes accesos directos para cambiar rápidamente varias opciones relacionadas con la emulación. Por ejemplo, haciendo clic derecho sobre el icono del disquete puedo cambiar la imagen de disco para continuar la instalación de MS-DOS.

Una cosa que debes tener muy en cuenta es la captura del teclado y el ratón. Cuando muevas el ratón o escribas con el teclado dentro de la máquina virtual, VirtualBox captura el teclado y el ratón para enviarlo a la máquina virtual y no a tu PC normal. Esto está muy bien, pero puede hacer que te quedes "encerrado" dentro de la máquina virtual sin poder volver a tu PC. Por ejemplo, si pulsas Alt+Tab lo hace en la máquina virtual y no en tu PC.
Para eso existe la tecla para escapar de la captura, que salvo que la hayas cambiado es generalmente la tecla Control de la derecha de tu teclado. En la parte inferior de la ventana de VirtualBox te lo indica en cualquier caso. Con que pulses esa tecla devolverás el teclado y ratón al PC anfitrión.
Otra opción interesante de las máquinas virtuales es que puedes guardar su estado tal cual, y la próxima vez que continúes usándola, sin tener que esperar a que se cierre Windows o similares. Para ello, lo único que tienes que hacer es elegir Guardar el estado cuando te pregunte al cerrar la máquina virtual.

Otra opción que te puede ser de gran interés son las Instantáneas. Si has instalado un sistema operativo y lo has configurado y dejado todo precioso, ¿por qué arriesgarte a que se pierda esta armonía después de instalar aplicaciones? Una instantánea es una copia del estado de una máquina virtual, que puedes recuperar en cualquier momento.
De este modo, puedes crear una instantánea de Windows perfectamente instalado y luego abrir un maléfico virus que corrompa todos tus archivos. Los archivos se corromperán y borrarán, sí, pero podrás recuperar la instantánea que lo dejará todo como estaba en el momento en el que la creaste. En VirtualBox las instantáneas (también llamadas snapshots) están un poco escondidas, a la derecha de la ventana.

Como ves, realmente no es nada complicado crear y usar una máquina virtual. Por supuesto, hay opciones más complejas dentro de la configuración de VirtualBox y de la propia máquina virtual, pero en la gran mayoría de los casos no necesitarás tocar nada más para poder usar un sistema operativo dentro de otro, que como ya hemos visto, tiene un montón de aplicaciones interesantes.
Ver 25 comentarios
25 comentarios
whisper5
Las máquinas virtuales son uno de los mejores inventos que se ha creado en informática. Algunas cosas útiles que he ido aprendiendo:
- Se puede activar o desactivar la opción 'Copiar y pegar' entre la máquina real y la virtual. Hay que tener en cuenta que si está activa esa opción y se copia información sensible (contraseñas, etc.) estarán disponibles en la máquina virtual.
- Si la máquina real está infectada con un 'keylogger' (software para capturar todo lo que se teclea) la máquina virtual también se verá afectada porque utiliza el mismo teclado. Si nos ponemos en modo paranoico la máquina virtual debería usar un teclado virtual en pantalla.
- Tener memoria RAM suficiente es importante. Si tienes 4 GB de RAM en el ordenador no te quedará mucha libre para máquinas virtuales. Yo hoy no compraría un ordenador con menos de 8 GB de RAM.
- Hay que tener en cuenta el microprocesador del ordenador. Si la arquitectura es x86 o amd64 el sistema operativo de la máquina virtual deberá ser para esa arquitectura. Si el ordenador tiene un microprocesador ARM (muy poco habitual, pero algunos ordenadores Linux lo usan) no va poder ejecutar, por ejemplo, Windows 10.
- Como los que crean 'malware' saben que suelen ser analizados en máquinas virtuales hay muchos de ellos que no se ejecutan en máquinas virtuales. Puede ser una buena idea tener una máquina virtual únicamente para conectarse a un banco, realizar pagos, etc. Para tener mayor seguridad, en esa máquina virtual no se debería instalar nada que no sean las actualizaciones de seguridad.
- VMware tiene una herramienta gratuita (VMware vCenter converter) para convertir una máquina física en una máquina virtual que pueda ser usada con VMware vPlayer (también gratuito). VirtualBox no tiene ninguna herramienta, aunque hay instrucciones por internet para hacerlo de forma manual. Esto puede estar muy bien cuando se compra un nuevo ordenador y se desea tener ambos en el nuevo ordenador, el antiguo de forma virtual y el nuevo de forma física.
- Otra ventaja de convertir una máquina física a virtual es que se puede comprar un ordenador con Windows (casi es imposible comprarlo sin Windows), crear un máquina virtual con Windows e instalar Linux. Dentro de Linux se podría usar el Windows original en una máquina virtual, con la ventaja de poder moverlo fácilmente a otro equipo.
- Una ventaja adicional de las máquinas virtuales es su movilidad. Sólo necesitan el software (VMware, VirtualBox, etc.) instalado y los ficheros de la máquina virtual. Esto permite llevar los ficheros de la máquina virtual en una memoria USB (con capacidad y velocidad suficiente) o en un disco duro externo para poder así trabajar con ella en cualquier lugar donde tengamos instalado el software de máquina virtual. Es casi como llevar el ordenador en el bolsillo.
borjaalonsotristan
Las máquinas virtuales son mucho más de lo que creéis. La mayor parte de la infraestructura de internet: routers, switches, servidores, firewalls, dhcps, clouds, son máquinas virtuales. Incluso las redes son virtuales. Las vpns de las empresas no existen sino como software sobre una infraestructura muy distinta. Os recomiendo leer algo sobre SDN y NFV. Buen artículo. Un saludo
katiallorente
Yo como estudiante de informática vivía de las máquinas virtuales.
-Servía entre otras cosas para probar y practicar con servidores y clientes, para probar y practicar con los diferentes tipos de RAID, simular caídas de discos y recuperaciones.
-Crear Windows PE.
-Simular cómo trabajar y conectar con máquinas linux y windows.
-Simular otros sistemas operativos y su conexión.
-Probar servidores web.
-Probar y practicar con diferente software, como el clonezilla y practicar clonaciones, reparaciones, despliegues, etc.
-Llevarte "los deberes" del centro de estudios a casa en un pendrive, simplemente llevas tu máquina ahí trabajas en casa y de vuelta al centro de estudios.
-Poder pausar la máquina (por ejemplo en medio de una instalación) y poder seguir después.
-Diseñar una red con packer tracer o similar y comprobar que funciona mediante máquinas virtuales.
-Migrar un servidor a otro entorno u otro hardware fácilmente.
Y seguro que me dejo cosas en el tintero.
josemicoronil
Si os parecen útiles las máquinas virtuales, imaginad cierto software (como XenApp y XenDesktop) capaz de ejecutar cualquier software en un servidor, e independientemente del dispositivo y SO que uses te lo muestra en pantalla. Una auténtica pasada.
Un saludo
sathwan
otros usos de máquinas virtuales:
- para hacer pruebas cliente/servidor sin montar una red física
- para acceder a sesiones de usuario dentro de una red corporativa, que usen un so distinto al host
lástima que apple no permita que se instale un osx en una máquina virtual. es una odisea poder correr un osx86 en un windows.. pero sin aceleración gráfica ni soporte wifi intel
acerswap
¿Sabeis si hay algun software de maquina virtual que arranque desde un disco real? VirtualBox solo permite hacerlo desde imagenes de disco.
jose.gon1
Si instalas una imagen de Windows 3.1 ó Windows 95...
¿Se instala MS-DOS automáticamente?
¿O hay que instalar primero MS-DOS?
mosskis.knf
apple podrá permitir lo que quiera, otra cosa es lo que se puede hacer:
http://subefotos.com/ver/?082cb120461d1bb92e55619831506e41o.png
mosskis.knf
El ordenador que aloja la máquina virtual debe ser medio potente. Como dice wisper5 no intentes usar maquinas virtuales en ordenadores con poca ram, porque seguramente lo conseguirás pero la experiencia sería tan penosa que siempre hablarias mal de las maquinas virtuales. Yo con 16 gb de Ram y un i7 solo tengo que decir que todo va fluido.
kampa120
Una pregunta, ¿es posible montar un server con windows 2012 server y ejecutar unas 12 maquinas virtuales con una red virtual entre ellas y que usuarios desde otros equipos se conecten al servidor ejecutando cada uno su maquina virtual personalizada donde hagan cambios y se guarde información para poder conectarse otro día. De ese modo los equipos call serian solo como pantallas y teclado, sin datos y todo estaría en el server. Añado que por seguridad y para poder mover todo en un futuro a otro ordenador que el server ejecute todo desde linux y dentro de linux una virtualizacion con windows 2012 server y dentro de esta todo lo demas que he comentado.
picanteestereo.pican
Soy un especialista en Virtualizacion utilizando Vmware Sphere. La virtualizacion es algo más complejo que lo que has explicado, pero lo que has dicho está muy bien explicado. Felicidades
robertoplanta
Hola Cuantas maquinas virtuales puedo crear en un intel i5 con 16gb de ram. En wmvare: cuantos numbers of processors le tengo que dar y cuantos number of core per processor para que ande todo fluido. sufre algun daño el hardware andando 24/7. muchas gracias. soy nuevo en esto.