¿Cómo montar una carpeta compartida VirtualBox? [cerrado]


58

¿Cuál es el procedimiento para montar una carpeta compartida de VirtualBox en Linux?

Intenté variaciones del siguiente comando de montaje pero sigo obteniendo protocol erroru otros errores de montaje.

sudo mount -t vboxsf share /home/toto

¿Es esta una pregunta? Reformúlelo para que se convierta en una pregunta, publique su propia respuesta y estaré más que feliz de eliminar el voto negativo.
agua helada

1
Editado para cumplir con los estándares de preguntas y respuestas.

pregunta de actualización de pls qué intentó y qué error obtiene

Editado para mostrar el comando que no funciona. Un error común es protocol errorcomo se indica en la pregunta.

Recibo este error cualquier solución para este "montaje: tipo de sistema de archivos desconocido 'vboxsf'"
sandip divekar

Respuestas:


111

Ok, esto fue un poco confuso para mí, pero finalmente me di cuenta de lo que estaba sucediendo. Así que decidí dar mis 2 centavos con la esperanza de que sea más claro para los demás y si lo olvido en el futuro:).

No estaba usando el nombre del recurso compartido que creé en la máquina virtual, sino que utilicé share o vb_share cuando el nombre de mi recurso compartido era wd, así que esto me confundió por un minuto.

Primero agregue su directorio compartido en la VM Box: ingrese la descripción de la imagen aquí

Cualquiera que sea el nombre que comparta aquí será el nombre que deberá usar al montar en el sistema operativo invitado vm. es decir, llamé al mío "wd" para mi unidad de pasaporte digital occidental.

A continuación, en el sistema operativo guset, cree un directorio para usar para su montaje, preferiblemente en su directorio personal.

mkdir share

A continuación, abra el terminal y copie y pegue lo siguiente o escríbalo. Puede habilitar el portapapeles compartido en Dispositivo-> Portapapeles compartido-> Bidireccional

sudo mount -t vboxsf wd ~/share/

Ahora debería poder copiar archivos entre sistemas operativos utilizando la carpeta "compartir" en su directorio de inicio.

¡Espero que esto ayude!


1
Pasé unas horas para comprender cómo puedo obtener archivos del invitado. Resultó que "sharename" (de la documentación oficial de VBox) en el comando "mount" es un NOMBRE solo especificado en el cuadro virtual Carpetas compartidas en la primera columna. Buen trabajo, eres mi héroe.
zen11625

2
gran respuesta, +1 para la captura de pantalla ... Esto monta el recurso compartido como root, sin embargo, creo. Consulte [los documentos] ( forums.virtualbox.org/viewtopic.php?t=15868 ) sobre cómo montarlo como su usuario actual, por ejemplo:sudo mount -t vboxsf -o rw,uid=1000,gid=1000 share ~/host
timbrown

@user ¿Cómo hago que este soporte sea automático en el arranque?

Si no conoce su identificación de usuario, puede usar variables. en este caso, el comando se convierte montículosudo mount -t vboxsf -o uid=$UID,gid=$(id -g) wd ~/share

28

Para VirtualBox con un invitado Linux, estos son los pasos para montar una carpeta compartida:

  1. Use la aplicación del host VirtualBox, VirtualBox Manager, para especificar las carpetas del host para compartir.

  2. Asegúrese de que VirtualBox Guest Additions esté instalado en el VirtualBox guest.

  3. En el invitado de Linux, el comando de montaje debe mostrar una línea en la que se montó el recurso compartido. Esto se indica con type vboxsf. El problema es que el punto de montaje puede no estar donde se desea y los permisos son solo de raíz. La ubicación de montaje predeterminada está en /media/sf_.

  4. Puede acceder al recurso compartido haciendo que el usuario, o la identificación del grupo 1000, sea miembro del grupo vboxsf. Esto se hace cambiando la vboxsflínea en el /etc/grouparchivo. Puede requerir reiniciar.

  5. Puede cambiar la ubicación de la carpeta con el comando VBoxControl. El comando se instala cuando se instala Guest Additions. Puede requerir reiniciar. Por ejemplo, para cambiar el punto de montaje a partir /media/sf_...de /home/toto/sf_...utilizar el siguiente comando para establecer el guestproperty carpeta compartida VirtualBox:

conjunto de propiedades para invitados sudo VBoxControl / VirtualBox / GuestAdd / SharedFolders / MountDir / home / toto /

Para confirmar el cambio, use get:

sudo VBoxControl guestproperty get /VirtualBox/GuestAdd/SharedFolders/MountDir

Referencias

Información de la carpeta compartida de VirtualBox

Información de propiedad de invitado de VirtualBox


44
Nuevo problema, con Vbox 4.3.10 el enlace está roto, verifique para verificar (ls -l) /sbin/mount.vboxsf Si ese objetivo no existe, el directorio debe volver a mapearse: sudo ln -s /opt/VBoxGuestAdditions-4.3.10/lib/VBoxGuestAdditions/mount.vboxsf /sbin/mount.vboxsf
ppostma1

44
Para agregar el usuario myuser al grupo vboxsf puede usar: sudo adduser myuser vboxsf

VirtualBox 4.3.14 corrige problemas de instalación de Guest Additions para RHEL 7 y CentOS 7. Instale Guest Additions usando: if-not-true-then-false.com/2010/…

Estoy en VirtualBox 4.3.20 en Windows 8.1. Tengo Ubuntu instalado en la VM. ¡No puedo ver type vboxsfcuando ejecuto el mountcomando aunque tengo instaladas las cosas de invitado! por favor ayuda
J86

20

Al encontrarse:

mount: Protocol error

después de intentar compartir carpetas en VirtualBox, por ejemplo:

$ sudo mount -o uid=1000,gid=1000 -t vboxsf D_DRIVE ~/host

Esto finalmente funcionó para mí:

$ sudo apt-get install virtualbox-guest-dkms

(Mi configuración: Windows 7 host, invitados: Ubuntu 12.04,13.10,14.04; actualmente ejecuta VBox 4.3.10 r93012)


5

Instale adiciones de cajas virtuales en el sistema operativo invitado. Luego apague el SO huésped. Abra la configuración de invitados en el cuadro virtual. Luego agregue una carpeta compartida y guarde la configuración. Luego inicie el sistema operativo invitado y para ubuntu emita el siguiente comando. Agrega al usuario actual al grupo vboxsf.

sudo adduser $ USER vboxsf

reinicie el SO invitado y navegue a / media / para acceder a la carpeta compartida.


sudo adduser no funciona para mí Agrego para usar "sudo usermod -a -G vboxsf myUser" y funciona. Gracias
Alex

1
Sí, eso era lo que faltaba: sudo adduser $ USER vboxsf Ahora funciona :-)

3

Dentro de un invitado VirtualBox de Linux o Mac OS X, una vez que haya instalado las adiciones de invitado de VirtualBox, puede descubrir las carpetas compartidas de VirtualBox disponibles con el siguiente comando:

sudo  VBoxControl  sharedfolder  list

Si su carpeta de inicio dentro de su invitado contiene carpetas con el mismo nombre que las carpetas compartidas de VirtualBox, puede montarlas automáticamente con el siguiente script de shell:

#!/bin/sh
#-----------------------------------------------------------------------------
# Discover VirtualBox shared folders and mount them if it makes sense
#-----------------------------------------------------------------------------

if  !  type  VBoxControl  > /dev/null;  then
  echo  'VirtualBox Guest Additions NOT found'  > /dev/stderr
  exit 1
fi

MY_UID="$(id -u)"
MY_GID="$(id -g)"

( set -x;  sudo  VBoxControl  sharedfolder  list; )  |  \
grep      '^ *[0-9][0-9]* *- *'                      |  \
sed  -e 's/^ *[0-9][0-9]* *- *//'                    |  \
while  read  SHARED_FOLDER
do
  MOUNT_POINT="$HOME/$SHARED_FOLDER"
  if  [ -d "$MOUNT_POINT" ];  then
    MOUNTED="$(mount  |  grep  "$MOUNT_POINT")"
    if  [ "$MOUNTED" ];  then
      echo  "Already mounted :  $MOUNTED"
    else
      (
        set -x
        sudo  mount  -t vboxsf  -o "nosuid,uid=$MY_UID,gid=$MY_GID"  "$SHARED_FOLDER"  "$MOUNT_POINT"
      )
    fi
  fi
done

1

Cuando obtiene el siguiente error: /sbin/mount.vboxsf: el montaje falló con el error: error de protocolo

Desafortunadamente, esto significa que usted usa el nombre compartido predeterminado o el nombre del directorio compartido del host es el mismo que el nombre compartido compartido invitado. En este caso es "compartir". Simplemente cree otra carpeta compartida, es decir, "vb_share" y luego simplemente ejecute:

mount -t vboxsf vb_share / home / <usuario> / host


1
  • Instalar adiciones de Vbox (archivo ISO o descargar luego)
  • Cree un directorio con cualquier nombre en los dos sistemas ( mkdir sharepor ejemplo)
  • conectarse con las "carpetas compartidas de VBox" la carpeta compartida en el sistema original
  • usa el comando para conectar tu carpeta:
    sudo mount -t vboxsf name_of_folder_linked ~/name_of_folder_guest/

0

Configuración: VirtualBox 4.3.26, Win 7 SP1 host, Debian jessie 8.0 (estable) invitado.

En VirtualBox Manager, seleccione Configuración de carpetas compartidas ... en el menú desplegable Dispositivos .

En la ventana emergente resultante, seleccione Carpetas de la máquina en la Lista de carpetas y luego haga clic en el botón "Agregar una nueva definición de carpeta compartida" (la carpeta azul con un icono de signo verde "+" a la derecha de la Lista de carpetas ).

En el formulario emergente Agregar Compartir resultante , haga clic en el botón de flecha hacia abajo en el campo Ruta de la carpeta y luego seleccione Otro . Aparecerá una ventana emergente Buscar carpeta .

(En mi caso, acababa de agregar otro disco duro a mi estación de trabajo para utilizarlo para un recurso compartido dedicado, ya formateado para NTFS, con un nombre de volumen de "recurso compartido", y montado como "G:". Así que hice clic en la flecha junto a la computadora , seleccionó la unidad G: y luego hizo clic en el botón Aceptar ).

(En su caso, debe seleccionar cualquier carpeta o unidad que desee compartir, luego haga clic en el botón Aceptar ).

Cuando haya hecho su selección y haya hecho clic en el botón Aceptar , VirtualBox Manager completará los campos Ruta de carpeta y Nombre de carpeta del formulario Agregar recurso compartido . Deje el campo Ruta de la carpeta solo, pero puede cambiar el Nombre de la carpeta si lo desea, solo asegúrese de recordarlo para más adelante.

Termine el formulario Agregar recurso compartido seleccionando la casilla de verificación Hacer permanente , pero asegúrese de dejar la casilla de verificación Montaje automático desactivada; nos encargaremos del montaje más adelante. (Y, por supuesto, si desea que la carpeta o unidad sea de solo lectura, continúe y marque la casilla de solo lectura ). Luego haga clic en el botón Aceptar .

El recurso compartido recién configurado ahora debería aparecer como una entrada en Carpetas de máquina en la Lista de carpetas . Haz clic en el botón Aceptar .

Para montar este recurso compartido durante el arranque (inicio) necesitamos agregar una línea de definición de montaje a / etc / fstab en nuestra instalación de Debian jessie guest. Esta edición debe realizarse como root o mediante sudo, por ejemplo:

sudo nano /etc/fstab

(Yo personalmente usé vi, pero como nano es el editor predeterminado en Debian jessie, lo especifiqué en el ejemplo anterior).

Para montar este recurso compartido en mi directorio personal, con su propiedad y grupo configurados en mi UID y GID personal, agregué la siguiente definición a / etc / fstab:

share /home/conib/share vboxsf comment=systemd.automount,uid=conib,gid=conib,noauto 0 0

(Tenga en cuenta que no hay espacios alrededor de los caracteres "=", "." O ",").

Una definición / etc / fstab tiene el formato

<Device> <Mount Point> <Type> <Options> <Dump> <Pass>

(Tenga en cuenta que debe haber espacios en blanco - espacio (s) y / o tabulación (es) - entre los campos de la definición, pero no espacios en blanco dentro de un campo).

El campo "Dispositivo" debe establecerse en el Nombre de carpeta que especificamos mediante VirtualBox Manager Add Share . Había cambiado el "G_DRIVE" predeterminado a "compartir".

El "Punto de montaje" es una especificación de ruta de directorio que ya debe existir pero debe estar vacía. (Es decir, todo lo que ya esté presente en ese directorio estará oculto por lo que está montando encima). Creé un nuevo subdirectorio vacío llamado "compartir" en mi directorio de inicio.

El "Tipo" es "vboxsf".

Las "Opciones" (comentario = systemd.automount, uid = conib, gid = conib, noauto) fueron la parte difícil, y se tomaron un poco de problemas para trabajar en esta configuración.

Establezca "Dump" en 0 a menos que sepa que desea establecerlo en otra cosa.

Y como no queremos que fsck verifique este recurso compartido, establezca "Pass" en 0 también.

Cuando haya agregado la línea de definición a / etc / fstab, reinicie su invitado Debian y confirme que puede ver los archivos y subcarpetas de su recurso compartido.

HTH.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.