Datos personales

miércoles, 30 de septiembre de 2015

VirtualBox. Las carpetas compartidas no se ven.

En la versión 4.3.28 de VirtualBox instalada en Debian 8.0 Jessie, cuando compartimos una carpeta en el equipo anfitrión para acceder a ella desde una máquina virtual Linux (no lo he probado con una máquina virtual Windows), el acceso no es posible porque no se ve en la máquina virtual.

Al instalar las Guest Additions se genera el siguiente error:

The headers for the current running kernel were not found. If the following
module compilation fails then this could be the reason.

Si observamos las líneas siguientes a este mensaje de error, comprobaremos que el módulo que soporta lsa carpetas compartidas no se ha instalado.

Antes de solucionar este problema tenemos que seguir las indicaciones expuestas en este artículo que he publicado en marzo de 2013.

Seguidamente, hay que instalar las cabeceras de la versión del kernel de Linux que estemos utilizando, ejecutando en la máquina virtual la siguiente orden:

apt-get install make gcc linux-headers-$(uname -r)

La salida que genera esta orden es la siguiente:

The headers for the current running kernel were not found. If the following
module compilation fails then this could be the reason.

Building the main Guest Additions module ...done.
Building the shared folder support module ...done.
Building the OpenGL support module ...done.
Doing non-kernel setup of the Guest Additions ...done.
Starting the VirtualBox Guest Additions ...done.
Installing the Window System drivers
Installing X.Org Server 1.16 modules ...done.
Setting up the Window System to use the Guest Additions ...done.
You may need to restart the the Window System (or just restart the guest system)
to enable the Guest Additions.

Installing graphics libraries and desktop services components ...done.

Como vemos en esta salida, se genera el mismo error que al instalar las Guest Additions, pero el módulo que soporta las carpetas compartidas se ha instalado correctamente.

Después de ejecutar la orden anterior hay que reiniciar el sistema.

Para finalizar, hay que ejecutar la siguiente orden en la máquina virtual:

adduser usuario vboxsf, siendo usuario la cuenta de usuario con la que hemos iniciado sesión. El grupo vboxsf es el que tiene privilegios para acceder a las carpetas compartidas. Para que este cambio tenga efecto hay que reiniciar sesión con la cuenta de usuario.

Si queremos que todos los usuarios tengan todos los permisos sobre las carpetas compartidas, hay que ejecutar la siguiente orden:

chmod 777 /media/sf_compartidaVbox

La carpeta compartida en el equipo anfitrión se llama compartidaVbox. En la máquina virtual esta carpeta se monta con el nombre sf_compartidaVbox.