VirtualBox es una aplicación que nos permite crear y trabajar con máquinas virtuales. Es multiplataforma y podemos instalarlo en Windows, MAC, Linux y Solaris.

En linux además de instalar VirtualBox a través de los repositorios (o descargando el paquete en la página oficial) tenemos que instalar los módulos de VirtualBox para el kernel y cargarlos. El problema que tiene esto es que cada vez que actualicemos el kernel nos mostrará un error diciéndonos que los módulos no se encuentran cargados.

Mensaje de error modulo no cargado

Para solucionar el error basta con instalar los módulos de VirtualBox para el nuevo kernel. En Fedora primero miramos el kernel que tenemos y a continuación buscamos e instalamos los módulos.

[usuario@equipo ~]$ uname -r
3.6.3-1.fc17.x86_64
[usuario@equipo ~]$ su -c 'yum install kmod-VirtualBox-3.6.3-1.fc17.x86_64.x86_64'

También podemos instalar el módulo directamente sin mirar nosotros cual es el kernel que tenemos con la siguiente instrucción.

[usuario@equipo ~]$ su -c 'yum install kmod-VirtualBox-`uname -r`'

Una vez tengamos instalado el módulo lo cargamos al kernel tal y como dice en la ventana de error. También podemos reiniciar pero ¿para que reiniciar si podemos cargar los módulos sin reiniciar?

[usuario@equipo ~]$ su -c '/etc/sysconfig/modules/VirtualBox.modules'

Después de realizar estos pasos ya podemos disfrutar de nuevo de nuestras máquinas virtuales.

Para evitar tener que teclear todas las instrucciones cada vez que el kernel se actualiza he escrito un script en bash que ejecuto cada vez que me sale el error y de esta manera me instala y carga el módulo.

#!/bin/bash
#
# Autor: Gabriel Figueira
# Fecha: 08 Enero 2012
# NOTAS:
#    Script que instala y carga el módulo de VirtualBox en Fedora.
#
# Script descargado de http://tuxylinux.com
# Reportar errores a: tuxylinuxblog@gmail.com
#
if [ $UID != 0 ] ; then
  echo -e "\e[1;31mDebes ser usuario root para ejecutar este script\e[0;00m"
  exit 0
fi

VERSION=`uname -r`
echo -e "\n\e[1;34mInstalando módulo kmod-VirtualBox-$VERSION\e[0;00m"

yum install -y kmod-VirtualBox-$VERSION

echo -e "\n\e[1;34mCargando módulo kmod-VirtualBox-$VERSION\e[0;00m"
'/etc/sysconfig/modules/VirtualBox.modules'

echo -e "\n\e[0;32mHecho\e[0;00m"