web-dev-qa-db-fra.com

Modifier le point de montage du dossier partagé de la virtualbox

J'ai un dossier partagé configuré entre virtualbox et mon ordinateur hôte Windows 7. J'ai un fichier test.txt que j'ai créé sous Windows et il apparaît correctement dans ma machine virtuelle Ubuntu. Virtualbox monte le dossier partagé dans /media/sf_share (le nom que j'ai attribué au dossier partagé dans les paramètres de la virtualbox était share). Je souhaite déplacer le point de montage de /media/sf_share vers simplement /srv afin de pouvoir modifier des fichiers sur mon hôte Windows et les afficher sous /srv. Comment puis-je accomplir cela?

**

Ce que j'ai essayé

**

J'ai édité /etc/fstab pour ressembler à ceci:

share /srv vboxsf defaults 0 0

Après cela, j’ai utilisé la commande mount -a, puis j’ai redémarré et j’ai redémarré avec les paramètres du dossier partagé de la virtualbox à NE PAS monter automatiquement.

J'ai lu qu'il y avait un problème avec les systèmes de fichiers montés avant le chargement des utilitaires virtualbox. J'ai donc ajouté vboxsf à mon /etc/modules, puis j'ai répété les étapes ci-dessus.

Aucun d’entre eux ne reproduit le contenu correct dans/srv. Lorsque j'émets mount -a APRÈS avoir modifié la fstab, je peux parfois le faire fonctionner. Je ne sais pas ce que je fais différemment à chaque fois, mais parfois après avoir édité fstab, émettre mount -a sans redémarrer, je peux voir les fichiers là-bas. Après un redémarrage, les fichiers sont à nouveau partis.

4
smilebomb

Vous devez modifier les "Propriétés de l'invité" pour modifier le préfixe de montage et le répertoire de base utilisés pour les dossiers partagés.

Voir https://www.virtualbox.org/manual/ch04.html#sf_mount_auto
and https://www.virtualbox.org/manual/ch04.html#guestadd-guestprops

Une note importante, cependant:
Les deux propriétés détaillées dans le premier lien ont des valeurs par défaut lorsqu'elles ne sont ni définies ni effacées:
/VirtualBox/GuestAdd/SharedFolders/MountPrefix est remplacé par défaut par sf_ s'il n'est pas défini.
Définit /VirtualBox/GuestAdd/SharedFolders/MountDir par défaut à /media s'il n'est pas défini

Par conséquent, vous devez définir MountPrefix sur / si vous ne souhaitez pas utiliser le préfixe sf_, car essayer de le définir sur "" effacera en réalité la propriété et la remettra. à sa valeur par défaut.

7
Nawak

Vérifiez /etc/fstab? Je ne suis pas trop sûr du partage de virtualbox, donc si changer de point de montage casse le partage, vous pouvez le modifier et lier le montage /media/sf_share à /srv

Informations sur le montage de la reliure et le fstab:

https://serverfault.com/questions/613179/how-do-i-do-mount-bind-in-etc-fstab

Si j'avais un volume monté dans/media/3tb-vol1/Private/et si je voulais le lier à/srv/Private, j'ai un fichier/etc/fstab comme celui-ci.

/media/3tb-vol1/Private/ /srv/Private none bind

Bien sûr, je ne connais pas les détails du partage de VirtualBox. Je ne sais pas comment et quand /media/sf_share sera monté, s'il n'est pas prêt quand fstab l'est, il se peut qu'il ne soit pas monté à temps pour être lié ...?

2
Xen2050

Sur la base de la réponse de Nawak, j'ai finalement réussi à le faire. J'avais déjà essayé beaucoup de solutions (basées sur /etc/fstab/ et fixant des /etc/rc.local) mais celle-ci a fonctionné.

Je viens d'exécuter les commandes suivantes (à partir de la machine hôte):

VBoxManage guestproperty set "Ubuntu 16" /VirtualBox/GuestAdd/SharedFolders/MountPrefix /
VBoxManage guestproperty set "Ubuntu 16" /VirtualBox/GuestAdd/SharedFolders/MountDir srv

Ubuntu 16 est le nom de ma machine virtuelle. Afin de vérifier que ces propriétés ont été correctement appliquées, vous pouvez exécuter:

VBoxManage guestproperty enumerate "Ubuntu 16"
1
vabada