Máquinas virtuales: qué son, cómo funcionan y cómo utilizarlas

Máquinas virtuales: qué son, cómo funcionan y cómo utilizarlas

25 comentarios Facebook Twitter Flipboard E-mail
Máquinas virtuales: qué son, cómo funcionan y cómo utilizarlas

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.

Vm

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.

Vminsidevm
Windows 10 dentro de Windows 10, dentro de Windows 10

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.

Vm De Java

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.

Vbox
Proceso de instalación de VirtualBox en Windows

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.

Controlador

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.

Vb1

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.

Vb1

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.

Vb2

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.

Vb3

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.

Vb4

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.

Vb5

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.

Estados

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.

Vb6

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.

Comentarios cerrados
Inicio