99 votes

Comment monter un dossier partagé de VirtualBox au démarrage ?

J'ai installé Ubuntu dans Virtualbox. Je veux monter mon dossier partagé VirtualBox dans Ubuntu automatiquement lorsque je me connecte à Ubuntu. J'ai mis la ligne suivante dans mon ~./bashrc et ~/.bash_profile :

sudo mount -t vboxsf windows_share /media/windows_share

où windows_share est le nom que j'ai créé avec Virtualbox. Mais chaque fois que je démarre mon Ubuntu, il me demande le mot de passe car il a besoin de sudo. Existe-t-il un moyen de monter automatiquement le partage Windows sans entrer le mot de passe à chaque fois que je me connecte ?

124voto

Takkat Points 135194

Pour monter systématiquement un "dossier partagé" de Virtual Box lors du démarrage d'un invité Ubuntu, nous avons deux options. C'est à vous de voir quelle option fonctionne le mieux dans notre cas.

1. Monter avec fstab

Pour monter un dossier partagé en utilisant le vboxsf fourni avec le système de fichiers Ajouts d'invités nous devons d'abord nous assurer les conditions préalables sont remplies . Nous pouvons alors mettre la ligne suivante dans notre etc/fstab fichier :

<name_of_share>   /path/to/mountpoint   vboxsf   <options>  0   0

Remplacer name_of_share/path/to/mountpoint avec votre configuration individuelle (le répertoire pour le point de montage doit être créé en premier). Voir la page de manuel de mount <options> . Une possibilité est de monter avec defaults ou pour donner des options de montage spécifiques (par ex. rw, suid, exec, auto, users ).

Sur certains systèmes, le vboxsf le module du noyau n'est pas encore chargé au moment où fstab est lu au démarrage. Il peut alors être utile d'ajouter le vboxsf module du noyau pour /etc/modules .

Certains systèmes peuvent nécessiter une option comment=systemd.automount dans leur entrée fstab ( Quelle ).

2. Montez avec Virtual Box "montage automatique" :

Dans les versions récentes de Virtual Box, nous pouvons également monter automatiquement les dossiers partagés lors de leur création :

enter image description here

Après un redémarrage de l'invité, ce dossier partagé sera monté dans le répertoire de l'invité. /media/<username>/sf_<name_of_share> accessible à tous les utilisateurs qui ont été faits membres du groupe vboxsf .

28voto

Fred Collins Points 281
  1. Editar /etc/rc.local

    sudo -H gedit /etc/rc.local
  2. Avant exit 0 type :

    mount.vboxsf windows_share /media/windows_share vboxsf
  3. Sauvez

  4. (facultatif) Créez un raccourci vers le bureau ou le dossier personnel :

    ln -s /media/windows_share /home/freddy/Desktop

Afin de démarrer sans erreurs comme l'appui sur S pour passer le montage ou appuyez sur M à réparer manuellement, vous devrez peut-être supprimer votre entrée dans fstab

8voto

spidersilk Points 11

Pour les plus récents systemd vous avez besoin d'approches alternatives, la plus simple étant celle mentionnée dans un autre document de l'UE. réponse à une autre question - qui dit en gros qu'il faut rajouter un spécial comment à l'option /etc/fstab l'entrée :

src     /my_mount/src_host  vboxsf  auto,rw,comment=systemd.automount 0 0

Cependant, pour que cette méthode fonctionne sur certains systèmes, vous devez cocher la case " Auto-mount " dans la boîte de dialogue Dossiers partagés->Ajouter de VirtualBox, ce qui signifie que vous pouvez vous retrouver avec plusieurs montages en double du répertoire.

Pour un montage plus propre - sans répertoires dupliqués ni besoin de 'Auto-mount' - vous devez utiliser la fonction de montage automatique de systemd montmontage automatique des directives. Pour ce faire, créez deux entrées dans /usr/lib/systemd/system/ nommés d'après le point de montage souhaité, par exemple pour correspondre au point de montage fstab ci-dessus, ils seraient nommés my_mount-src_host.mount et contiennent :

[Unit]
Description=VirtualBox shared "src" folder

[Mount]
What=src
Where=/my_mount/src_host 
Type=vboxsf
Options=defaults,noauto,uid=1000,gid=1000

et my_mount-src_host.automount :

[Unit]
Description=Auto mount shared "src" folder

[Automount]
Where=/my_mount/src_host
DirectoryMode=0775

[Install]
WantedBy=multi-user.target

Il faut alors les aider :

sudo systemctl enable  my_mount-src_host.automount
sudo systemctl enable  my_mount-src_host.mount

Ils seront maintenant montés au démarrage. Si vous voulez les monter immédiatement (à condition que les dossiers partagés aient été créés), vous pouvez le faire :

sudo systemctl start  my_mount-src_host.mount

Notez que si vous avez des répertoires avec des noms bizarres ou des tirets (-), utilisez alors systemd-escape pour trouver le nom échappé approprié.

6voto

Après une matinée épuisante à essayer sans succès tout ce qui précède dans Ubutntu 16.04 fonctionnant dans Virtualbox 5.0.20 (particulièrement déçu que la solution rc.local ne fonctionne pas), cela a fonctionné par :

  1. Enregistrer le répertoire requis dans le menu Dossiers partagés de l'interface graphique de Virtualbox, mais PAS le monter automatiquement ni le monter de façon permanente depuis Virtualbox. Sinon, le répertoire hôte est monté par root et il est difficile d'y accéder pour les utilisateurs non root, même s'ils appartiennent au groupe admin.

  2. ajout d'une simple entrée dans fstab :

    [VirtuablBoxNameOfMount] /media/[guestOSuser]/[mountSubdir]    vboxsf   rw, noauto   0     1

    Note noauto option - sinon boot loader échoue comme cela a été noté.

  3. Ajouter la ligne correspondante à /etc/sudoers comme suit en utilisant la commande visudo depuis l'OS invité :

    ALL ALL = NOPASSWD: /bin/mount /media/[guestOSuser]/[mountSubdir]/

Cela permettra aux processus non-root de monter spécifiquement ce système (car fstab ne peut pas monter avec l'option 'user'...).

  1. Ajouter la ligne correspondante au .profile de l'utilisateur :

    sudo mount /media/[guestOSuser]/[mountSubdir]/

Maintenant, le sous-répertoire de l'hôte sélectionné est prêt à être monté pour l'utilisateur sélectionné lors de la connexion !

3voto

Prasanna Points 1187

J'ai essayé la solution rc.local mais je n'ai pas réussi à la faire fonctionner.
Cependant, j'ai découvert que le problème semble être lié au dossier à partir duquel vous exécutez la commande (je ne sais pas pourquoi). J'ai donc ajouté une ligne pour changer le répertoire en mon dossier personnel avant la commande mount, et maintenant ça marche.

Donc, mon partage Windows s'appelle Dropbox mon point de montage est /home/jamie/Dropbox mon nom d'utilisateur est jamie c'est ce que j'ai mis dans rc.local :

cd /home/jamie
mount.vboxsf /home/jamie/Dropbox Dropbox vboxsf
exit 0

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X