Solución al error E_FAIL(0x80004005) de Virtual Box

Hoy me encontraba con un problema con VirtualBox, en un equipo no me arrancaba ninguna máquina. Daba igual que fuera una máquina importada desde otro ordenador que que se tratara de una máquina creada desde 0. Al ejecutarla saltaba el error E_FAIL(0x80004005) . Intenté ojear los logs para ver si veía algo claro, pero el tamaño del mismo no lo hacía muy práctico ¿por qué fallaba? Pues no tengo ni idea. ¿Solución? Encontré varias:

Encontré un blog donde se afirma que se arregla desmontando la unidad de cd, pero no me funcionó tras hacerlo.

Encontré otro enlace donde decían que bastaba con ir a C:\Users\COMPUTER_NAME\.VirtualBox\Machines\VM_NAME y allí buscar el archivo VM_NAME.xml-prev para editar su nombre y quitarle el sufijo -prev. Lo probé pero tampoco funcionó.

Finalmente este vídeo me trajo la solución: en lugar de pulsar en la flecha inicio para arrancar la máquina hay que darle al botón que tiene al lado para desplegar el menú y allí elegir Inicio Desacoplable.

¿Por qué funcionó esta y el resto no? Bueno, a estas alturas no conozco todavía la causa del error, pero mirando con detenimiento el mensaje de error veo que en la solución que me funcionó el fallo era en el componente Machine Wrap. Asumo que el código de error puede ser el mismo para diversos componentes y que cada uno tiene una solución. Fíjate en el ejemplo que viene en el blog donde recomiendan desmontar la unidad de cd, podrás ver que el componente que falla simplemente es descrito como Machine mientras que en el que implica modificar el nombre del fichero de configuración xml el fallo era en el componente VirtualBox. Por tanto no hay una única solución a este error, todo depende de qué componente sea el afectado.

Instalando Guest Additions de VirtualBox en Lubuntu 15.10

Primer contacto con una versión 15.10 de Ubuntu: esta mañana he tenido que montar una máquina vitual en el curro para un experimento. Por temas de ligereza ha sido un Lubuntu, la versión con el ligero escritorio LXDE, concretamente la vesión de 32 bits.

Vamos a meternos en harina (en el tema de las guest additions, no era un chiste sobre Albert Rivera) ¿Cómo instalo la Guest Additions?

  • Abrimos un terminal y ejecutamos sudo apt-get install virtualbox-guest-additions-iso
  • Le llevará un ratillo (al menos a mi me lo llevó). Al acabar vamos al menú desplegable de la esquina inferior izquierda, seleccionamos Preferencias y desde allí escogemos Software y Actualizaciones. Os dejo esta imagen ilustrativa:
    Lubuntu software actualizacións
  • Ahora nos queda desmarcar las opciones de usar los controladores de Virtual Box en lugar de los de serie del sistema operativo, tal que así: Software y Actualizaciones

Y tras un reinicio la cosa debería ir ya como la seda.

Software para virtualización (doméstico)

En fin, de nuevo a sugerencia del señor Mozano una entrada sobre virtualización.

¿Por qué virtualizar? Bueno, si tienes un ordenador medianamente potente te habrás pispado de que tienes potencia suficiente para mover varios sistemas operativos. De vez en cuando te puede apetecer probar una beta inestable de una distribución de Linux (para esos días en los que no puedes esperar a ver las novedades), o tener a mano un Windows 98, un XP o hasta un equipo con MS-DOS para trastear con algún programa o juego viejo, que ya no está soportado en las versiones más modernas de Windows (por ejemplo, me pasó con el emulador de Neo Geo NeoRage, que no funcionaba en Windows Vista). O simplemente para realizar experimentos, como ataques contra un servidor. Este software te permite crear un archivo que funcione como disco duro virtual y ejecutar otro sistema operativo en tu ordenador, como un ordenador dentro del tuyo (lo que llamamos máquina virtual).

El software más popular para virtualizar es el siguiente:

  • Virtual Box: Era un programa original de Sun Microsystems que actualmente ha quedado bajo el control de Oracle. Es gratis y tiene versiones para Windows, MacOS, Linux y, como no, Solaris (sólo jodería que siendo un producto de SUN no tuviese versión en su propio sistema operativo). Su gran atractivo son las Guest Additions, que nos permiten muchas chuminadas, como compartir con facilidad archivos y carpetas entra la máquina virtual y la máquina física, usar las ventanas en “modo fluído”, como si el sistema operativo virtualizado fuera un programa en una ventana más. Además, permite clonar discos duros virtuales con gran facilidad y hacer “snapshots” del sistema para deshacer cambios en las pruebas. En mi casa es el que más utilizo.
  • VM Ware: Este software canadiense tiene dos versiones: gratis y de pago (alrededor de 199$), además de otra versión para servidores de la que no hablaremos, ya que no viene al caso. VMWare Player es la versión simple y doméstica, que permite simplemente descargar máquinas y ejecutarlas. La versión de pago, VMWare Workstation añade funcionalidades como una mayor integración entre máquina física y virtual, posibilidad de crear nuestras propias máquinas, creación de snapshots, permite deshacer y repetir cambios, compartir máquinas virtuales en red… Está disponible en Linux y en Windows.
  • Windows Virtual PC: Un limitado producto de Microsoft pero que puede ser muy útil. Sólo disponible para Windows y sólo permite crear máquinas virtuales de Windows. En principio parece un poco chorras la cosa, ok, pero tiene ciertas ventajas. Por ejemplo, pongamos que tienes un Windows 7  y una máquina virtual de Windows XP para usar… el Neo Rage que citaba antes, mismamente. Virtual PC te permitirá instalar Neo Rage en el XP, crear un acceso directo en el escritorio del Windows 7 y ejecutar la aplicación de forma que te parecerá que se ejecuta nativamente (vamos, como si usaras Wine en Linux). Es una opción interesante para usuarios de Windows que quieran usar programas que se han quedado incompatibles con su SO.
  • QEMU: Disponible desde no hace mucho para todas las plataformas (hasta hace un año y pico sólo existía para Linux), es una opción libre y muy potente. La verdad, no he llegado a trabajar con él en profundidad. Permite trabajar sobre todo tipo de arquitecturas (x86, AMD64, Power PC, SPARC… aunque el mejor rendimiento se consigue con una versión aceleraca, kqemu, en arquitectura i386), ser utilizado para proveer hosting virtual, hacer virtualización de escritorio… en él se basa Wine para ejecutar los programas de Windows sobre arquitecturas no Intel. Tengo pendiente profundizar, pero las posibilidades parecen casi infinitas.
  • Parallels: Famoso sobre todo por su versión para MacOS, existe también para Windows y Linux, aunque es menos popular. De pago (79 $), permite emulación de escritorio con una particularidad, cuando se pasa de la máquina física a la virtual fuerza a que el equipo anfitrión  renuncie a parte de su potencia para cederlo a la virtualización.

En resumen ¿Con cual nos  quedamos? A falta de profundizar en QEMU, yo me decanto por Virtual Box. Reconozco que es menos potente que VMWare y menos intuitivo que Parallels, pero incluye muchas variadas y potentes opciones totalmente gratis, es multiplataforma, la curva de aprendizaje no es muy exagerada y permite virtualizar casi cualquier sistema operativo. Para el usuario doméstico, y para las pruebas básicas de un desarrollador, da de sobra. Además, las máquinas virtuales que creas con Virtual Box las puedes ejecutar luego tanto en VMWare como en Parallels, y viceversa, puedes abrir con él un disco duro virtual creado con los otros. Además, desde la inclusión del modo fluído se ha superado su gran handicap frente a sus otros competidores. Si quieres virtualizar sólo para usar programas antiguos en Windows, entonces prueba Virtual PC.