Cómo instalar y configurar VirtualBox para comunicar SO Host Windows y Guest Ubuntu

Respuesta rápida

Instalar VirtualBox junto con su extensión pack. Montar en VirtualBox la versión estable del SO Ubuntu. Configurar la red como adaptador puente. Leer a partir del punto configurar la comunicación entre el SO Host y el SO Guest

Respuesta completa

Requisitos:

VirtualBox (VB) te permite tener varios sistemas operativos (SO) virtuales corriendo a la vez en un mismo ordenador, de tal modo que tienes un SO Host, que es el hospedador de los SO Guest, que son los SO que corren virtualmente dentro de VB.

¿Cuándo no es útil usar VirtualBox?

Para los maqueros y linuxeros que necesitan tener el SO Windows porque necesitan usar un programa que no es compatible con su SO les tengo que dar malas noticias. Si el programa que quieren utilizar es un programa sencillo no tienen ningún problema. Pero, si necesitan usar un programa que requiera cálculos 3D o jugar a un videojuego entonces hay un problema porque para funcionar necesitan utilizar directamente la tarjeta gráfica y, a través de la maquina virtual, es imposible.

En este caso la solución es hacer una partición e instalar ahí Windows, de tal modo que cuando se encienda el ordenador habrá que elegir entre arrancar un SO y otro.

¿Qué espero de trabajar con VirtualBox y Ubuntu?

A la hora de trabajar con servidores, aprender a usar Ubuntu es más real que Windows, ya que en un ámbito de trabajo los servidores suelen ser Linux; además, a la hora de trabajar con NodeJS o Python es mucho más cómodo usar Ubuntu debido a la consola Linux y su maravilloso manejo.

A pesar de ello, una maquina virtual siempre será mucho mas lenta que su SO Host, personalmente estoy acostumbrado a los programas Windows para el desarrollo web y no me apetece hacer una partición y estar reiniciando el ordenador cada vez que quiera realizar una tarea u otra. Por lo tanto, mi manera de desarrollar algunos proyectos, como con NodeJS, es de modo híbrido entre el SO Host y Guest.

Es decir, instalo Ubuntu en VirtualBox y lo configuro para poder trabajar y editar todos los archivos en Windows, mientras uso la consola de Linux y tengo todo montado y guardado en Ubuntu.

Las carpetas compartidas de VirtualBox NO -no, no y no- son una solución.

La razón de porqué las carpetas compartidas no son la solución es porque, al crear una, ésta es una carpeta del SO Host y nosotros queremos editar los archivos del SO Guest. Por lo tanto, hay que buscar una alternativa: Configurar la red como adaptador puente.

Comenzando desde el principio

Instalar VirtualBox normalmente (siguiente, siguiente, …).

Instalar el extension pack.

  • Ir a archivo > preferencias > extensiones > agregar paquete.

Instalar Ubuntu.

  • Hacer click en Nueva.
  • Tamaño de memoria: 2GB.
  • Unidad de disco: Crear un disco duro virtual (VDI).
  • Almacenamiento: Reservado dinámicamente.
  • Tamaño: 20 GB.
  • Antes de iniciar la maquina ir a Configuración (se puede hacer después, pero hacerlo ahora es más cómodo).
  • Ir a General > Avanzado.
    • Compartir portapapeles: bidireccional.
    • Arrastrar y soltar: bidireccional.
  • Ir a Pantalla > Vídeo.
    • Memoria de vídeo: al máximo.
  • Red > Adaptador 1.
    • Conectado a: adaptador puente.
    • Muestra opciones avanzadas.
    • Tipo de adaptador: Intel PRO/1000 MT Server.
    • Modo promiscuo: Permitir todo.
  • Guardar configuración.
  • Hacer click en Iniciar.
  • Seleccionar disco de inicio: imagen de Ubuntu (.iso).
  • Instalar Ubuntu normalmente (siguiente, siguiente, …).
  • Una vez dentro de Ubuntu, en la barra de herramientas de VirtualBox ir a Dispositivos > instalar Guest Additions.
  • Instalar Guest Additions y reiniciar el SO Guest (luego se puede expulsar el cd de Guest Additions).

Ya se tiene instalado correctamente Ubuntu con Guest additions, por lo que se puede observar que el tamaño de la pantalla de Ubuntu se adapta al tamaño de la ventana de Windows.

Ahora hay que configurar la comunicación entre el SO Host y el SO Guest

  • Ir a la carpeta /home, donde se visualiza la carpeta personal.
  • Click derecho en la carpeta personal > Propiedades > Permisos.
  • A todos habilitar Acceso a carpeta: Crear y eliminar archivos; y Acceso a archivos: Lectura y escritura.
  • Ir a Compartir.
  • Al activar «Compartir esta carpeta» te pedira instalar unos servicios. Instalarlos.
  • Cambiar el Nombre compartido. Por ejemplo, en mi caso es chachoHome
  • Activar «Permitir a otras personas crear y eliminar archivos en esta carpeta», «Acceso invitado» y dar al botón «Crear compartición».
  • Abrir Terminal (consola de Linux!).
  • Escribir:  ifconfig
  • Buscar «Direc. inet:» y copiarla. Por ejemplo, en mi caso es: 192.168.1.137
  • En Windows, es decir, en el SO Host, ir a Equipo > Conectar a una unidad de red
  • Activar «Conectar de nuevo al iniciar» y «Conectar con otras credenciales»
  • NOTA: se puede no activar la opción «Conectar con otras credenciales», pero habrá problemas de permisos al crear archivos desde el SO Host.
  • Introducir en carpeta: \\»Direc. inet»\»Nombre compartido». Por ejemplo, en mi caso es \\192.168.1.137\chachoHome
  • Al pedir los credenciales introducir el usuario y contraseña del usuario Ubuntu creado anteriormente.
  • Y voilá! Ya se tiene acceso y control total de la carpeta personal de Ubuntu.