Erreur de montage des dossiers partagés VirtualBox dans un invité Ubuntu

77

J'ai Ubuntu 10 comme OS invité sur une machine Windows 7. J'ai essayé de configurer des partages via VirtualBox, mais rien ne fonctionne. Tout d'abord, je crée le partage dans VirtualBox et le pointe vers un dossier Windows. Ensuite, j'essaie de monter le disque sous Linux, mais je continue à obtenir

/sbin/mount.vboxsf: le montage a échoué avec l'erreur suivante: erreur de protocole

J'ai lu tellement de solutions à ce problème, mais aucune ne semble fonctionner. J'ai essayé:

  • Utilisation de la syntaxe mount.vboxsf
  • Réinstallation des ajouts à la VBox
  • Redémarrage
  • Activer et essayer en tant que compte root

J'ai fait un partage appelé "Test" dans les dossiers VBox Shared. Ensuite, j'ai créé un répertoire dans Ubuntu nommé "test2". Ensuite, j'ai essayé d'exécuter cette commande:

sudo mount -t vboxsf Test / mnt / test2

D'autres idées?

skaz
la source

Réponses:

90

Afin de pouvoir utiliser la fonctionnalité de dossier partagé, quelques conditions préalables doivent être remplies:

  • Assurez-vous que les ajouts invités sont correctement installés sur le système d'exploitation invité.
  • Les utilisateurs d'un invité Ubuntu doivent faire partie du groupe vboxsfpour pouvoir accéder aux partages.
  • Définissez un répertoire sur l'hôte qui sera utilisé dans la machine virtuelle à l'aide de la boîte de dialogue de configuration de Virtual Box.

En fonction de l'hôte ou du système d'exploitation invité, les éléments suivants peuvent également être nécessaires:

  • Ne pas partager des dossiers personnels comme /home/usernameouMy Documents
  • Évitez les caractères spéciaux ou les espaces vides dans le chemin du dossier partagé, surtout si l'hôte ou la machine virtuelle est une machine Windows.
  • Utiliser des noms différents pour le partage et le point de montage
  • Créez un point de montage sur le système d'exploitation invité (le mieux dans votre répertoire HOME).

Vous pouvez tester la fonctionnalité des dossiers partagés en créant un répertoire partagé sur l'hôte (par exemple C:\myshare), définissez-le comme dossier partagé pour votre système invité dans les paramètres de la boîte virtuelle (par exemple share), créez un point de montage dans votre système d'exploitation invité (par exemple mkdir /home/username/host) et en montant. ceci dans le système d'exploitation invité avec la commande:

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

où l'option -o s'assure que vous aurez accès au montage (qui appartiendra sinon à root).

Pour plus d'informations sur les dossiers partagés, voir également le Manuel de l'utilisateur de Virtual Box .

Les fichiers ou les répertoires peuvent également être partagés sur le réseau en utilisant Samba sur l'hôte et l'invité.

Takkat
la source
4
Je crois avoir satisfait à toutes ces exigences, mais je reçois toujours l'erreur. Existe-t-il un moyen de diagnostiquer le problème?
Skaz
1
Pas au niveau littéral de chaîne, mais ma part est C: \ test au lieu de C: \ myshare, il est défini dans VBox 4.0.4. J'ai créé un dossier dans / home / [myusername] / test2 et un dossier dans / mnt / test2, et j'exécute la commande exactement sur ces deux dossiers. Les deux renvoient la même erreur.
Skaz
1
Merci de votre aide! Je n'avais pas compris que les mots "test" et "Test2" seraient considérés comme utilisant le même nom. Cela a résolu le problème!
Skaz
2
Pour 'share', j’avais bêtement utilisé sf_ [nom du partage], car je pouvais voir qu’il était monté sous / media / avec ce nom et supposé qu’il aurait besoin du nom ubuntu-local et non du propre nom de VBox. Cependant, j'ai supprimé le préfixe "sf_" et cela a résolu le problème.
Astravagrant
1
@MichaelScheper ce sont des recommandations que - si cela fonctionne pour vous, tout va bien.
Takkat
15

J'ai aussi rencontré ce problème. J'ai trouvé que le dossier partagé était déjà monté à /media/sf_share.

J'ai essayé de supprimer /media/sf_share, mais je ne pouvais pas.

J'ai donc supprimé le dossier partagé "share" de mon répertoire personnel.

$ rm -r ~/share

Et puis passez à l'utilisateur root de la manière suivante:

$ sudo -i

Créez un lien symbolique / un raccourci vers le dossier / media / sf_share appartenant à l'utilisateur root pour modifier la propriété du lien symbolique avec la commande chown. Quitter l'utilisateur root en utilisateur normal

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

$ chmod 777 ~/share

Vous pouvez voir les fichiers dans Windows via le dossier partagé. Et le nom d'utilisateur doit être membre du groupe vboxsf.

Ancien urologue
la source
Merci ! vous aviez raison ... déjà monté dans / media / sf_sharename
Laurent
1
En utilisant CentOS 7, j'ai également constaté que mon répertoire était monté sur media/sf_sharename. La création d'un lien symbolique vers ce répertoire semble être une option possible, mais il s'agit d'une procédure très différente de la procédure annoncée / documentée sur le site VirtualBox. Il doit y avoir une résolution appropriée à ceci!?!?
cartbeforehorse
11

Voici ce qui a fonctionné pour moi sans aucun problème

J'ai compris qu'en réalité, mon usernom n'était pas dans le groupe vboxsf . Les deux commandes suivantes vous aideront à obtenir les informations sur le groupe:

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

J'ai donc ajouté saurav(moi) au groupe vboxsf à l' aide de la commande suivante:

sudo usermod -a -G vboxsf saurav 

Puis redémarré la virtualbox et ensuite .. Sauté de ma place ..: D: D Tout a bien fonctionné sans aucun problème.

S'il vous plaît commenter si quelqu'un ayant encore un problème ..

Saurav Kumar
la source
2
Cela a fonctionné pour moi, merci. Il y a seulement un type: devrait être sudo usermod -a -G vboxsf saurav(premier groupe puis utilisateur).
user673592
Oui .. Taper incorrect .. :) Merci de nous l'avoir signalé. Edité maintenant ..
Saurav Kumar
1
Vous n'avez pas besoin de redémarrer VB pour acquérir votre groupe nouvellement attribué. $ su - saurav fera l'affaire.
Stephen Boston
2

J'ai également beaucoup lutté avec le montage et j'ai essayé tout ce que je trouvais dans l'interwebz, mais j'ai finalement trouvé une solution très étrange pour le résoudre! Mon invité est Ubuntu 13 et mon hôte est Windows 7.

Passez au dossier multimédia et à partir de là user@os:/media$ sudo mount -t vboxsf share /home/username/folder

Ouais c'est ça. Mais je ne comprends pas pourquoi cela ne fonctionne que si cela est fait à partir du dossier multimédia. Si quelqu'un sait s'il vous plaît veuillez nous expliquer ci-dessous. Merci.

Ps Editer mon montage /etc/rc.localautomatique au démarrage ne fonctionne pas pour moi.

BringBackCommodore64
la source
1
/etc/rc.local ne fonctionnera jamais, car cela est fait avant que le réseau ne soit opérationnel.
Braiam
2
Salut Braiam! Bon à savoir. Malheureusement, j'ai lu dans d'innombrables sites que les gens recommandent de modifier le fichier /etc/rc.local pour le montage automatique. Savez-vous quelle est la bonne façon de le monter automatiquement au démarrage? Merci.
BringBackCommodore64
Je trouve aussi que cela ne fonctionne que depuis / media. Très étrange. Je viens d' ajouter à mon .profile: pushd media && sudo mount /media/<theshare> && popd.
Matt Greer
1

Avec VirtualBox 5.1.20 sous Windows 10 et Ubuntu 16.04 en tant que système d'exploitation invité avec GuestAdditions 5.1.20, je ne pouvais pas monter les dossiers partagés à partir de la ligne de commande. Les commandes de montage ont échoué, avec les mentions de Protocol Error et de sf_read_super_aux err = -22.

Finalement, j'ai trouvé https://www.virtualbox.org/ticket/16670 "lien symbolique mount.vboxsf brisé". J'ai suivi l'une des solutions de contournement, corriger le lien symbolique pour mount.vboxsf, et tout a fonctionné. Mon approche était de faire:

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

Les commandes doivent être effectuées par root. Donc, comme c'était Ubuntu, j'ai ajouté "sudo" au début de chaque ligne pour faire la commande en tant que root. D'autres types de Linux ont d'autres moyens de le faire.

Par ailleurs, un problème de lien symbolique similaire a été signalé dans le ticket # 12879 de virtualbox "Impossible de monter les dossiers partagés avec des ajouts invités 4.3.10" en 2014, ce qui a été corrigé le mois suivant.

2017-04-27

J Cumming
la source
@ Duncan: bon point. Le titre du ticket décrit le problème, mais j'ai édité pour montrer la solution que j'ai utilisée.
J Cumming
Le journal des modifications de virtual box v5.1.22 à virtualbox.org/wiki/Changelog#v22 dit que
J Cumming
Le journal des modifications de virtual box v5.1.22, publié le 28/04/2017, ( virtualbox.org/wiki/Changelog#v22 ), indique que ce bogue / ticket n ° 16670 est corrigé. Je suis surexcité!
J Cumming
Je ne sais pas pourquoi cela a été rejeté, mais cela m'a aidé avec mes problèmes avec Vbox 5.122
qodeninja
1

Pour moi, le problème était que j'étais une oie et que j'avais oublié que j'avais supprimé l'entrée de ma liste de dossiers partagés dans VirtualBox (Machine → Paramètres → Dossiers partagés).

Je ne fais que jeter cela ici, au cas où quelqu'un d'autre serait induit en erreur de la même manière par «erreur de protocole».

: honk : 😉

Michael Scheper
la source
1

J'ai essayé tout ce qui précède et rien n'a fonctionné pour moi. J'ai créé un nouveau dossier transitoire "Shared" avec "Make Permanent" et "Auto Mount" activés. Et puis exécutez la commande

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

Cela a fonctionné pour moi. Aucune erreur cette fois.

Pankaj
la source
0

Mon dossier partagé fonctionnait et après le redémarrage de mon hôte, ce n'était pas le cas.

En changeant le nom du dossier partagé de Partagé à Partagé2, cela a fonctionné.

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

Aucune idée sur ce qui s'est passé et pourquoi ni comment y remédier. Les systèmes sans état mutable global comme Nix ont un point.

Nicolas
la source
0

Personnellement, j'ai fait face au même message d'erreur et le problème était lié au fait que j'avais fait une faute de frappe liée au dossier situé sur la machine hôte et que je définissais comme dossier partagé à partir de la machine virtuelle grâce aux ajouts d'invités.

Donc, la bonne commande est:

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

Cela a corrigé le message d'erreur.

Billal Begueradj
la source
0

Pour moi, c'était la mauvaise version de guest-additions.

J'ai déplacé toute ma machine virtuelle d'un ordinateur portable (qui exécutait VirtualBox 5.8 / quelque chose) vers un autre ordinateur portable doté de VirtualBox 6.0. Tout a fonctionné sauf le montage du dossier partagé.

Je viens de commencer VM, cliqué sur Devices -> Insert Guest additions CD image...et suivi les instructions. Il a parlé un peu de la présence de la version précédente des ajouts invités, mais l'a ensuite supprimée et a installé la nouvelle à la deuxième tentative. Redémarrez et fonctionne.

Kashyap
la source