La columna 80

El blog técnico-personal de Ángel J. Vico… en español

Máquinas virtuales VII: Compartir carpetas

Posted by Ángel J. Vico en 12 de septiembre de 2010

Algo que puede resultar bastante útil (y muchas veces imprescindible) es compartir archivos entre la máquina real y la virtual. Si la máquina virtual la hemos configurado de forma que esté en red con la real, podemos usar las opciones para compartir carpetas en red que proporcionan los propios sistemas operativos. Si esa opción no nos sirve, no nos interesa o nos resulta demasiado complicada, siempre tenemos la opción de usar el sistema interno de VirtualBox para compartir carpetas.

Lo primero que tenemos que tener en cuenta es que este sistema sólo funciona si tenemos instaladas las VirtualBox Guest Additions en el sistema operativo huésped. Si aún no las has instalado, no sé a qué estás esperando😉

Otro detalle a tener en cuenta es que lo que permite VirtualBox es que una carpeta del sistema operativo anfitrión sea accesible desde el sistema operativo huésped y no al revés. Aunque esto es más que suficiente para compartir archivos, introduciéndolos o sacándolos de la máquina virtual.

Se puede acceder a la ventana de configuración de carpetas compartidas de muchas formas: desde la configuración de la máquina virtual (con la máquina cerrada) en la categoría Carpetas compartidas, desde el menú de la máquina virtual (con la máquina arrancada) seleccionando Dispositivos | Carpetas compartidas, e incluso pulsando con el botón derecho del ratón sobre el icono con forma de carpeta de la barra de estado de la máquina virtual y seleccionando Carpetas compartidas. Todas las opciones nos llevan a una ventana como esta (o parecida):
Configuración de carpetas compartidas

Una vez aquí, el procedimiento para compartir una carpeta es el siguiente:

  1. Pulsamos el botón Agregar carpeta compartida (el que tiene forma de carpeta con un signo más verde). Se nos muestra un nuevo cuadro de diálogo:
    Agregar carpeta compartida
  2. Desplegamos la lista Ruta carpeta pulsando sobre la flecha negra y escogemos la opción Otro…
  3. En la ventana que se muestra, escogemos la carpeta que queremos compartir (o creamos una nueva) y pulsamos Aceptar.
    Seleccionar la carpeta
  4. En el campo Nombre carpeta hay que escribir el nombre con el que se verá la carpeta en el sistema operativo huésped. VirtualBox lo rellena de forma predeterminada con el nombre de la carpeta escogida, pero podemos cambiarlo. Aunque no es imprescindible, es mejor que el nombre no contenga espacios en blanco. De esa forma, la configuración de la carpeta compartida en el sistema operativo huésped será más sencilla (sobre todo si es Linux).
    Debajo de los cuadros de texto tenemos dos casillas de verificación. Si marcamos Sólo lectura, la máquina virtual no podrá escribir en la carpeta compartida, sólo leer. De esta forma podremos introducir archivos en la máquina virtual, pero no sacarlos.
    La otra casilla de verificación, Hacer permanente, impide (cuando está seleccionada) que la carpeta deje de compartirse al cerrar la máquina virtual. Si queremos usar la carpeta compartida a menudo, lo mejor es activar esta opción. Nota: la opción Hacer permanente no aparece si estamos creando la carpeta compartida con la máquina virtual cerrada. Las carpetas que se crean de esa forma son siempre permanentes, dado que las no permanentes no están compartidas con la máquina virtual cerrada.
    Escogemos las opciones que más nos convengan y pulsamos Aceptar.
  5. La nueva carpeta compartida se añade a la lista Carpetas de la máquina, si la compartición es permanente, o a la lista Carpetas transitorias, si no lo es. Si seleccionamos una carpeta compartida de la lista se activan los otros dos iconos. El que tiene un círculo amarillo vuelve a mostrar el cuadro de diálogo de la carpeta y permite cambiar las opciones de compartición. El del signo menos rojo provoca que la carpeta deje de estar compartida (pero no borra ni la carpeta ni su contenido).
    Pulsamos Aceptar para cerrar la ventana cuando hayamos terminado.

Una vez compartida la carpeta, la forma de acceder a ella varía dependiendo del tipo de sistema operativo huésped que tengamos.

Acceder a la carpeta compartida desde Windows

En Windows se accede a las carpetas compartidas desde el entorno de red. El procedimiento es el siguiente:

  1. Abrimos un Explorador de Windows.
  2. Desplegamos Mis sitios de red (My Network Places).
  3. Desplegamos Toda la red (Entire Network).
  4. Aquí deberíamos ver una carpeta con el nombre VirtualBox Shared Folders. La desplegamos.
  5. En su interior se muestra un equipo de nombre Vboxsvr. Es un equipo ficticio que representa a la aplicación VirtualBox. Lo desplegamos también.
  6. Colgando de este equipo ficticio se encuentran todas las carpetas compartidas agregadas a la máquina virtual:
    Carpetas compartidas en Windows
  7. A partir de este punto, la carpeta compartida funciona como cualquier otro recurso compartido en una red Windows: podemos acceder directamente a ella desde aquí, podemos usar la sintaxis UNC \\Vboxsvr\<nombre_carpeta>, o podemos asignarle una unidad pulsando sobre ella con el botón derecho del ratón y seleccionando Conectar a unidad de red (Map Network Drive).

Acceder a la carpeta compartida desde Linux

Para poder acceder a las carpetas compartidas en Linux es necesario montarlas, de forma similar a como se montan unidades de discos extraíbles o recursos de red compartidos por otras máquinas. Es el equivalente a conectar una unidad de red en Windows, salvo que en lugar de asignarle una letra de unidad, se enlazan a un directorio del sistema de archivos.

En resumen, para montar una carpeta compartida basta con ejecutar los siguientes comandos con un usuario que tenga permisos de administración (donde nombre_carpeta es el nombre visible de la carpeta compartida y punto_montaje el nombre del directorio desde el que se accederá a la carpeta compartida desde la máquina virtual):

sudo mkdir /mnt/punto_montaje
sudo mount -t vboxsf nombre_carpeta /mnt/punto_montaje

El principal problema que tiene esta forma de montar la carpeta compartida es que hay que repetirla cada vez que se reinicia la máquina virtual. Para que la carpeta compartida se monte automáticamente al arrancar, es necesario modificar el archivo /etc/fstab añadiendo la siguiente línea:

nombre_carpeta /mnt/punto_montaje vboxsf defaults 0 0

Nota: para editar el archivo /etc/fstab, será necesario utilizar sudo y cualquier editor, como gedit o vi.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s