Quelle est la procédure pour monter un dossier partagé VirtualBox sous Linux?
J'ai essayé des variantes de la commande de montage suivante mais j'obtiens toujours protocol error
ou d'autres erreurs de montage.
Sudo mount -t vboxsf share /home/toto
Pour VirtualBox avec un invité Linux, voici les étapes pour monter un dossier partagé:
Utilisez l'application VirtualBox Host, VirtualBox Manager, pour spécifier les dossiers Host à partager.
Assurez-vous que VirtualBox Guest Additions est installé dans l'invité VirtualBox.
Dans l'invité Linux, la commande mount doit afficher une ligne indiquant que le partage a été monté. Ceci est indiqué par type vboxsf
. Le problème devient que le point de montage peut ne pas être là où vous le souhaitez et les autorisations sont uniquement root. L'emplacement de montage par défaut est dans /media/sf_
.
Vous pouvez accéder au partage en définissant l'utilisateur ou l'ID de groupe 1000
, membre du groupe vboxsf
. Cela se fait en modifiant la ligne vboxsf
dans le /etc/group
fichier. Peut nécessiter un redémarrage.
Vous pouvez modifier l'emplacement de montage du dossier à l'aide de la commande VBoxControl. La commande est installée lorsque Guest Additions est installé. Peut nécessiter un redémarrage. Par exemple, pour modifier le point de montage de /media/sf_...
à /home/toto/sf_...
utilisez la commande suivante pour définir la propriété d'invité du dossier partagé VirtualBox:
Sudo VBoxControl guestproperty set/VirtualBox/GuestAdd/SharedFolders/MountDir/home/toto /
Pour confirmer la modification, utilisez get:
Sudo VBoxControl guestproperty get /VirtualBox/GuestAdd/SharedFolders/MountDir
Références:
Ok, c'était un peu déroutant pour moi mais j'ai finalement réalisé ce qui se passait. J'ai donc décidé de donner mes 2 cents dans l'espoir que ce sera plus clair pour les autres et si j'oublie un jour dans le futur:).
Je n'utilisais pas le nom du partage que j'ai créé dans la machine virtuelle, mais j'ai utilisé partage ou vb_share lorsque le nom de mon partage était wd donc cela m'a dérouté pendant une minute.
Ajoutez d'abord votre répertoire de partage dans la boîte VM:
Quel que soit le nom que vous donnez à votre partage, il s'agit du nom que vous devrez utiliser lors du montage dans le système d'exploitation invité vm. c'est-à-dire que j'ai nommé le mien "wd" pour mon lecteur de passeport numérique occidental.
Ensuite, sur le système d'exploitation guset, créez un répertoire à utiliser pour votre montage, de préférence dans votre répertoire personnel.
mkdir share
Ouvrez ensuite le terminal et copiez et collez ce qui suit ou saisissez-le. Vous pouvez activer le presse-papiers partagé sous Périphérique-> Presse-papiers partagé-> Bidirectionnel
Sudo mount -t vboxsf wd ~/share/
Vous devriez maintenant pouvoir copier des fichiers entre les OS en utilisant le dossier "share" dans votre répertoire personnel.
J'espère que cela t'aides!
Lors de la rencontre:
mount: Protocol error
après avoir essayé de partager des dossiers dans VirtualBox, par exemple:
$ Sudo mount -o uid=1000,gid=1000 -t vboxsf D_DRIVE ~/Host
cela a finalement fonctionné pour moi:
$ Sudo apt-get install virtualbox-guest-dkms
(Ma configuration: Windows 7 Host, invités: Ubuntu 12.04,13.10,14.04; actuellement sous VBox 4.3.10 r93012)
Installez les ajouts de boîte virtuelle sur le système d'exploitation invité. Arrêtez ensuite le système d'exploitation invité. Ouvrez les paramètres guestos dans la boîte virtuelle. Ajoutez ensuite un dossier partagé et enregistrez les paramètres. Ensuite, démarrez le système d'exploitation invité et pour ubuntu, exécutez la commande ci-dessous. Il ajoute l'utilisateur actuel au groupe vboxsf.
Sudo adduser $ USER vboxsf
redémarrez le système d'exploitation invité et accédez à/media/pour accéder au dossier partagé.
Dans un invité VirtualBox Linux ou Mac OS X, une fois que vous avez installé les compléments d'invité VirtualBox, vous pouvez découvrir les dossiers partagés VirtualBox disponibles avec la commande suivante:
Sudo VBoxControl sharedfolder list
Si votre dossier de départ dans votre invité contient des dossiers portant le même nom que les dossiers partagés VirtualBox, vous pouvez les monter automatiquement avec le script Shell suivant:
#!/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
Lorsque vous obtenez l'erreur suivante: /sbin/mount.vboxsf: le montage a échoué avec l'erreur: erreur de protocole
Malheureusement, cela signifie que vous utilisez le nom de partage par défaut ou que le nom du répertoire de partage de l'hôte est le même que le nom de partage invité monté. Dans ce cas, c'est "partager". Créez simplement un autre dossier de partage, c'est-à-dire "vb_share", puis exécutez simplement:
mount -t vboxsf vb_share/home/<utilisateur>/hôte
mkdir share
, par exemple )Sudo mount -t vboxsf name_of_folder_linked ~/name_of_folder_guest/
Configuration: VirtualBox 4.3.26, hôte Win 7 SP1, invité Debian jessie 8.0 (stable).
Dans VirtualBox Manager, sélectionnez Paramètres des dossiers partagés ... dans le menu déroulant Périphériques.
Dans la fenêtre contextuelle résultante, sélectionnez Dossiers de la machine dans la Liste des dossiers puis cliquez sur le bouton "Ajouter une nouvelle définition de dossier partagé" (le dossier bleu avec un vert " + "icône de signe à droite de la Liste des dossiers).
Dans le formulaire contextuel Ajouter un partage résultant, cliquez sur le bouton fléché vers le bas dans le champ Chemin du dossier, puis sélectionnez Autre. Une fenêtre contextuelle Browse For Folder apparaît.
(Dans mon cas, je venais d'ajouter un autre disque dur à mon poste de travail pour être utilisé pour un partage dédié, déjà formaté pour NTFS, avec un nom de volume "share", et monté en "G:". J'ai donc cliqué sur la flèche à côté de Ordinateur, lecteur sélectionné G: puis cliquez sur le bouton OK .)
(Dans votre cas, vous devez sélectionner le dossier ou le lecteur que vous souhaitez partager, puis cliquez sur le bouton OK .)
Lorsque vous avez fait votre sélection et cliqué sur le bouton OK , VirtualBox Manager remplira Chemin du dossier et Nom du dossier champs du formulaire Ajouter partage. Laissez le champ Chemin du dossier seul, mais vous pouvez modifier le Nom du dossier si vous le souhaitez - assurez-vous simplement de vous en souvenir pour plus tard.
Terminez le formulaire Ajouter un partage en cochant la case Rendre permanent, mais assurez-vous de laisser la case Montage automatique désactivée - nous vais m'occuper du montage plus tard. (Et bien sûr, si vous voulez rendre le dossier ou le lecteur en lecture seule, alors allez-y et cochez la case Lecture seule.) Cliquez ensuite sur OK bouton.
Le partage nouvellement configuré doit maintenant apparaître comme une entrée sous Dossiers de la machine dans la Liste des dossiers. Cliquez sur le bouton OK .
Afin de monter ce partage pendant le démarrage (démarrage), nous devons ajouter une ligne de définition de montage à/etc/fstab dans notre installation invité Debian jessie. Cette modification doit être effectuée en tant que root ou via Sudo, par exemple:
Sudo nano /etc/fstab
(J'ai personnellement utilisé vi, mais comme nano est l'éditeur par défaut sur Debian jessie, je l'ai spécifié dans l'exemple ci-dessus.)
Pour monter ce partage dans mon répertoire personnel, avec sa propriété et son groupe définis sur mon UID et GID personnels, j'ai ajouté la définition suivante à/etc/fstab:
share /home/conib/share vboxsf comment=systemd.automount,uid=conib,gid=conib,noauto 0 0
(Notez qu'il n'y a pas d'espaces autour des caractères "=", "." Ou ",".)
Une définition/etc/fstab est sous la forme
<Device> <Mount Point> <Type> <Options> <Dump> <Pass>
(Notez qu'il doit y avoir des espaces - espace (s) et/ou tabulation (s) - entre les champs de la définition, mais aucun espace à l'intérieur d'un champ.)
Le champ "Périphérique" doit être défini sur Nom du dossier que nous avons spécifié via VirtualBox Manager Ajouter un partage. J'avais changé le "G_DRIVE" par défaut en "partager".
Le "point de montage" est une spécification de chemin de répertoire qui doit déjà exister mais doit être vide. (Autrement dit, tout ce qui est déjà présent dans ce répertoire sera caché par ce que vous montez dessus.) J'avais créé un nouveau sous-répertoire vide nommé "share" dans mon répertoire personnel.
Le "Type" est "vboxsf".
Les "Options" (comment = systemd.automount, uid = conib, gid = conib, noauto) étaient le bit délicat, et ont pris un peu de mal à se mettre au travail pour cette configuration.
Réglez "Dump" sur 0, sauf si vous savez que vous souhaitez le définir sur autre chose.
Et comme nous ne voulons pas que fsck vérifie ce partage, définissez également "Pass" sur 0.
Lorsque vous avez ajouté la ligne de définition à/etc/fstab, redémarrez votre invité Debian et confirmez que vous pouvez voir les fichiers et sous-dossiers de votre partage.
HTH.