Error al montar carpetas compartidas de VirtualBox en un invitado de Ubuntu

77

Tengo Ubuntu 10 como SO invitado en una máquina con Windows 7. He estado tratando de configurar recursos compartidos a través de VirtualBox, pero nada funciona. Primero, creo el recurso compartido en VirtualBox y lo apunto a una carpeta de Windows. Luego trato de montar el disco en Linux, pero sigo obteniendo

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

He leído muchas soluciones a esto, pero ninguna parece funcionar. Yo he tratado:

  • Usando la sintaxis mount.vboxsf
  • Reinstalar adiciones de VBox
  • Reinicio
  • Habilitar y probar como cuenta raíz

Hice un recurso compartido llamado "Prueba" en las carpetas compartidas de VBox. Luego hice un directorio en ubuntu llamado "test2". Luego intenté ejecutar este comando:

sudo mount -t vboxsf Prueba / mnt / prueba2

¿Alguna otra idea?

skaz
fuente

Respuestas:

90

Para usar la funcionalidad de carpeta compartida, se deben cumplir algunos requisitos previos :

  • Asegúrese de que Guest Additions esté instalado correctamente en el SO huésped.
  • Los usuarios en un Ubuntu invitado deben estar en el grupo vboxsfpara poder acceder a los recursos compartidos.
  • Defina un directorio en el host que se utilizará en la máquina virtual utilizando el diálogo de configuración de Virtual Box.

Dependiendo del sistema operativo host o invitado, también puede ser necesario lo siguiente:

  • No comparta carpetas personales como /home/usernameoMy Documents
  • Evite caracteres especiales o espacios vacíos en la ruta a la carpeta compartida, especialmente si el host o VM es una máquina Windows
  • Use diferentes nombres para compartir y punto de montaje
  • Cree un punto de montaje en el sistema operativo invitado (mejor en su directorio HOME).

Puede probar la funcionalidad de las carpetas compartidas creando un directorio compartido en el host (por ejemplo C:\myshare), defina esto como una carpeta compartida para su sistema invitado en la configuración de Virtual Box (por ejemplo share), cree un punto de montaje en su sistema operativo invitado (por ejemplo mkdir /home/username/host) y monte esto en el SO huésped con el comando:

sudo mount -t vboxsf -o uid=1000,gid=1000 share /home/username/host

donde la opción -o se asegura de que tendrá acceso al montaje (que de lo contrario será propiedad de root).

Para obtener más información sobre las carpetas compartidas, consulte también el Manual del usuario de Virtual Box .

Los archivos o directorios también se pueden compartir a través de la red utilizando Samba en el host y el invitado.

Takkat
fuente
44
Creo que he cumplido todos estos requisitos, pero sigo recibiendo el error. ¿Hay alguna manera de diagnosticar cuál es el problema?
skaz
1
No al nivel literal de cadena, pero mi recurso compartido es C: \ test en lugar de C: \ myshare, se define en VBox 4.0.4. He creado una carpeta en / home / [myusername] / test2 y una carpeta en / mnt / test2 y ejecuto el comando exactamente en estas dos carpetas y ambas devuelven el mismo error.
skaz
1
¡Gracias por tu ayuda! No me di cuenta de que las palabras "prueba" y "Prueba2" se considerarían con el mismo nombre. Esto resolvió el problema!
skaz
2
Para 'compartir', tontamente utilicé sf_ [nombre de recurso compartido], ya que pude ver que se estaba montando bajo / media / con ese nombre y asumí que necesitaría el nombre ubuntu-local y no el propio nombre de VBox. Sin embargo, eliminé el prefijo 'sf_' y esto resolvió el problema.
Astravagrant
1
@MichaelScheper estas son solo recomendaciones : si funciona para usted, todo está bien.
Takkat
15

También me encontré con este problema. Descubrí que la carpeta compartida ya estaba montada en /media/sf_share.

Traté de eliminar /media/sf_share, pero no pude.

Así que eliminé la carpeta compartida "compartir" en mi directorio de inicio.

$ rm -r ~/share

Y luego cambie al usuario root de la siguiente manera:

$ sudo -i

Cree softlink / acceso directo a la carpeta / media / sf_share que posee el usuario root y modifique la propiedad de softlink con el comando chown. Salida del usuario root al usuario normal

# ln -s /media/sf_share /home/username/share
# chown username.username /home/username/share
# exit
logout

$ chmod 777 ~/share

Puede ver los archivos en Windows a través de la carpeta compartida. Y el nombre de usuario debe ser miembro del grupo vboxsf.

Viejo urólogo
fuente
Gracias ! tenías razón ... ya montado en / media / sf_sharename
Laurent
1
Usando CentOS 7, y también descubrí que mi directorio está montado en media/sf_sharename. La creación de un enlace simbólico a ese directorio parece ser una opción posible, pero esto es bastante diferente del procedimiento anunciado / documentado en el sitio VirtualBox. ¡Debe haber una resolución adecuada para esto!
cartbeforehorse
11

Esto es lo que funcionó para mí sin ningún problema.

Me di cuenta de que, en realidad, mi usernombre no estaba en el grupo vboxsf . Los siguientes dos comandos ayudarán a obtener la información del grupo:

grep "vboxsf" /etc/group    
grep "saurav" /etc/group

Entonces agregué saurav(yo) al grupo vboxsf usando el siguiente comando:

sudo usermod -a -G vboxsf saurav 

Luego reinicié el virtualbox y luego ... Salté de mi ubicación ...: D: D Todo funcionó bien sin ningún problema.

Por favor comente si alguien todavía tiene algún problema.

Saurav Kumar
fuente
2
Esto funcionó para mí, gracias. Solo hay un tipo: debe ser sudo usermod -a -G vboxsf saurav(primer grupo luego usuario).
user673592
Sí ... Escribí incorrectamente ... :) Gracias por señalar. Editado ahora ..
Saurav Kumar
1
No necesita reiniciar VB para adquirir su grupo recién asignado. $ su - saurav hará el truco.
Stephen Boston el
2

También luché mucho con el montaje, e intenté todo lo que se me ocurrió en el interwebz, ¡pero finalmente encontré una solución muy extraña para resolverlo! Mi invitado es Ubuntu 13 y mi host es Windows 7.

Cambie a la carpeta de medios y desde allí escriba user@os:/media$ sudo mount -t vboxsf share /home/username/folder

Si eso es. Pero no entiendo cómo es que solo funciona si se hace desde la carpeta multimedia. Si alguien sabe, explíquenos amablemente a continuación. Gracias.

Ps Editar mi /etc/rc.localpara hacer el montaje automático en el inicio no me funciona.

BringBackCommodore64
fuente
1
/etc/rc.local nunca funcionará, ya que se realiza antes de que la red esté activa.
Braiam el
2
Hola braiam Bueno saber. Desafortunadamente, he leído en innumerables sitios que la gente recomienda editar /etc/rc.local para el montaje automático. ¿Sabes cuál es la forma correcta de montarlo automáticamente en el inicio? Gracias.
BringBackCommodore64
También encuentro que solo funciona desde / media. Muy extraño. Acabo de añadir esto a mi .profile: pushd media && sudo mount /media/<theshare> && popd.
Matt Greer
1

Con VirtualBox 5.1.20 ejecutándose en Windows 10 y Ubuntu 16.04 como SO huésped con GuestAdditions 5.1.20 instalado, no pude montar las carpetas compartidas desde la línea de comandos. Los comandos de montaje fallaron, con menciones de Error de protocolo y sf_read_super_aux err = -22.

Finalmente encontré https://www.virtualbox.org/ticket/16670 "enlace simbólico mount.vboxsf roto". Seguí una de las soluciones allí, para corregir el enlace simbólico para mount.vboxsf, y todo funcionó. Mi enfoque era hacer:

mv /sbin/mount.vboxsf /sbin/mount.vboxsf-orig
ln -s /opt/VBoxGuestAdditions-5.1.20/lib/VBoxGuestAdditions/mount.vboxsf /sbin/mount.vboxsf

Los comandos deben hacerse por root. Entonces, como era Ubuntu, agregué "sudo" al comienzo de cada línea para hacer el comando como root. Otros sabores de Linux tienen otras formas de hacerlo.

Por otro lado, hubo un problema similar de enlace simbólico informado en el Ticket # 12879 de virtualbox "No se pueden montar carpetas compartidas con adiciones de invitados 4.3.10" en 2014, que se solucionó el mes siguiente.

2017-04-27

J Cumming
fuente
@duncan: buen punto. El título del ticket describe el problema, pero lo edité para mostrar la solución que utilicé.
J Cumming
El registro de cambios para virtual box v5.1.22 en virtualbox.org/wiki/Changelog#v22 dice que
J Cumming,
El registro de cambios para virtual box v5.1.22, publicado el 28/04/2017, ( virtualbox.org/wiki/Changelog#v22 ), dice que este error / ticket # 16670 está solucionado. ¡Estoy emocionado!
J Cumming
No estoy seguro de por qué esto fue rechazado, pero me ayudó con mis problemas con Vbox 5.122
qodeninja
1

Para mí, el problema era que era un ganso, y había olvidado que había eliminado la entrada de mi lista de Carpetas compartidas en VirtualBox (Máquina → Configuración → Carpetas compartidas).

Solo estoy lanzando esto aquí, en caso de que alguien más sea engañado de manera similar por 'Error de protocolo'.

: bocinazo: 😉

Michael Scheper
fuente
1

Intenté todo lo anterior y nada funcionó para mí. Lats Creé una nueva carpeta transitoria "Compartida" con "Hacer permanente" y "Montaje automático" habilitados. Y luego ejecuta el comando

sudo mount -t vboxsf -o uid=1000,gid=1000 Shared /mnt/sharedvm

Funcionó para mi. No hay error esta vez.

Pankaj
fuente
0

Mi carpeta compartida funcionaba y después de reiniciar mi host, no lo estaba.

Al cambiar el nombre de la carpeta compartida de Shared a Shared2 funcionó.

config.vm.synced_folder "/Users/username/Dropbox/Shared", "/Shared2"

No tengo idea de lo que sucedió y por qué ni cómo solucionarlo. El sistema sin estado mutable global como Nix tiene un punto.

nicolas
fuente
0

Personalmente, me enfrenté al mismo mensaje de error y el problema estaba relacionado con el hecho de que cometí un error tipográfico relacionado con la carpeta ubicada en la máquina host y que configuré como una carpeta compartida desde la máquina virtual gracias a las adiciones de invitados.

Entonces el comando correcto es:

sudo mount -t vboxsf -o uid=$UID,gid=$(id -g) shared_folder_located_in_host_machine path_to_mounting_folder_inside_the_virtual_machine

Esto solucionó el mensaje de error.

Billal Begueradj
fuente
0

Para mí fue la versión incorrecta de las adiciones de invitados.

Moví toda mi VM de una computadora portátil (que ejecutaba VirtualBox 5.8 / algo) a otra computadora portátil con VirtualBox 6.0. Todo funcionó excepto el montaje de la carpeta compartida.

Acabo de iniciar VM, hice clic Devices -> Insert Guest additions CD image...y seguí las instrucciones. Se debatió un poco sobre la presencia de versiones anteriores de adiciones de invitados, pero luego lo eliminó e instaló la nueva en el segundo intento. Reiniciar y funciona.

Kashyap
fuente