J'ai un Ubuntu VM en cours d'exécution dans VirtualBox.
J'ai un dossier partagé configuré avec myshare
. J'ai un dossier créé dans mon répertoire personnel (~/jamesw
) sous le nom Host
. L'utilisation de la ligne Sudo mount -t vboxsf myshare Host
de mon répertoire personnel dans Terminal monte le lecteur correctement, mais si je le redémarre, il n'est pas monté à nouveau.
Ceci est un VM que j'utilise pour exécuter un serveur Web simple et j'aimerais que ce partage soit monté à chaque démarrage. Y a-t-il un moyen de faire ça? Surtout que ça demande du sudo?
De Virtual Box> 4.0, nous pouvons monter automatiquement dossiers partagés dans une machine virtuelle. Pour le faire pour Ubuntu nous
vboxsf
name__Faites un clic droit sur votre machine virtuelle et choisissez Paramètres-> Dossiers partagés . Ceci listera les partages existants ou vous permettra de définir un nouveau dossier partagé en cliquant sur l’icône bleue du dossier avec le symbole vert. +-sign en haut à droite:
Choisissez votre dossier dans le menu déroulant Chemin du dossier ou choisissez Définissez autre pour un sélecteur de fichier répertoriant le système de fichiers Host. Choisissez un nom pour le partage (par exemple myshares ). En cochant Monter automatiquement , ce dossier sera toujours monté dans le répertoire invité Ubuntu /media/sf_myshares
(le préfixe sf_
sera automatiquement ajouté).
Alternativement, pour définir des dossiers partagés dans un OS invité en cours d'exécution, nous pouvons sélectionner Périphériques -> Dossiers partagés dans le menu de la fenêtre de Virtual Box Manager:
En cochant Rendre permanent , ces dossiers partagés seront également disponibles au prochain démarrage et montés lorsque le montage automatique est coché une addition.
Je ne pense pas que l’utilisation de/etc/fstab fonctionnera (cela ne m’a pas fonctionné pour moi) car ce fichier est traité avant le chargement du module SF et ne parviendra pas à monter le partage. Voir HOWTO: Utiliser les dossiers partagés 1 .
Ce n'est pas encore une réponse complète, mais plutôt comme des lignes directrices sur deux approches que vous avez:
1 - Vous pouvez éditer /etc/fstab
et ajouter cette monture ici. Vous devez convertir votre paramètre de montage en syntaxe fstab. Une hypothèse sauvage serait quelque chose comme /home/jamesw/Host vboxsf myshare,umask=002,uid=<youruser>,gid=plugdev 0 0
. Vous aurez besoin de Sudo
pour éditer votre fstab, mais une fois cela fait, il sera monté automatiquement au démarrage. Comme cela est fait avant même de vous connecter, vous avez besoin d'un chemin absolu vers le point de montage (d'où le nom/home/jamesw/Host), vous ne pouvez pas utiliser $HOME
ou ~
. Astuce: le dossier "Host" n'a pas besoin d'exister. Si c'est dans fstab, mount le créera pour vous.
2 - Vous pouvez utiliser fusermount
au lieu de mount. La syntaxe est similaire (mais pas identique, vous devez donc traduire les paramètres de montage). Fusermount nécessite que votre point de montage se trouve quelque part dans votre $ HOME, mais le plus gros avantage est que vous n’auriez pas besoin de Sudo
. Et la monture sera disponible dans Nautilus (comme s'il s'agissait d'un CD ou d'une clé USB). Après avoir obtenu les bons paramètres et les avoir testés, vous pouvez les ajouter à votre ~/.profile
, qui s'exécute chaque fois que vous vous connectez.
EDIT: En supposant que Virtualbox n’ait pas besoin que la machine s’exécute pour partager des dossiers, OR qu’elle est opérationnelle avant de vous connecter.
Pour monter automatiquement et accéder à ces dossiers en tant qu'utilisateur normal, des étapes spécifiques sont nécessaires.
N'utilisez pas les ajouts d'invités officiels. Installez plutôt virtualbox-guest-dkms
.
Sudo apt-get install -y virtualbox-guest-dkms
Sudo usermod -aG vboxsf $(whoami)
Sudo VBoxControl guestproperty set /VirtualBox/GuestAdd/SharedFolders/MountDir ~/vbshare
Ajoutez des dossiers partagés avec Auto-mount
et Permanent
cochés.
Vérifiez si vous avez des dossiers vb montés:
mount | grep vboxsf
Si tel est le cas, changez le propriétaire de ~/vbshare
.
Sudo chown $(whoami):$(whoami) ~/vbshare
Vérifiez si vous pouvez le trouver listé par cette commande:
Sudo VBoxControl sharedfolder list
Si oui, créer un répertoire et monter
mkdir ~/vbshare/newfolder
Sudo mount -t vboxsf newfolder ~/vbshare/newfolder