Pour toujours monter un "dossier partagé" Virtual Box lors du démarrage d'un invité Ubuntu, nous avons deux options. Il en va de votre préférence personnelle quelle option fonctionne le mieux dans notre environnement.
1. Monter avec fstab
Pour monter un dossier partagé en utilisant le vboxsf
système de fichiers fourni avec Guest Additions, nous devons d’abord nous assurer que les conditions préalables sont remplies . Ensuite, nous pouvons mettre la ligne suivante dans notre etc/fstab
fichier:
<name_of_share> /path/to/mountpoint vboxsf <options> 0 0
Remplacez name_of_share
et /path/to/mountpoint
par votre configuration individuelle (le répertoire du point de montage doit d'abord être créé). Voir la page de manuel pour monter <options>
. Une possibilité consiste à monter avec defaults
, ou à donner des options de montage spécifiques (par exemple rw, suid, exec, auto, users
).
Sur certains systèmes, le vboxsf
module de noyau n'est pas encore chargé au moment de sa fstab
lecture au démarrage. Il peut alors être utile d’ajouter le vboxsf
module du noyau à /etc/modules
.
Certains systèmes peuvent nécessiter une option comment=systemd.automount
dans leur entrée fstab ( source ).
2. Montez avec Virtual Box "montage automatique":
Dans les dernières versions de Virtual Box, nous pouvons également monter automatiquement les dossiers partagés lors de la création:
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é rendus membres du groupe vboxsf
.
noauto
inclure les options fstab, puis à monter plus tard typiquement dans un script de démarrage (tel que. profile), Option 2) le problème principal étant que vboxsf n’est pas chargé avant l’exécution de fstab, ajoutez-levboxsf
au fichier/etc/modules
, en demandant au kernal de charger le module avant l’exécution de fstab. Peut-être que cela aidera quelqu'un d'autre.Modifier
/etc/rc.local
Avant de
exit 0
taper:sauver
(Facultatif) Créez un raccourci vers le dossier de bureau ou d'accueil:
Pour démarrer sans erreurs, comme appuyer sur S pour ignorer le montage ou appuyer sur M pour réparer manuellement, vous devrez peut-être supprimer votre entrée dans
fstab
la source
/etc/rc.local
avec çamount -t vboxsf [-o OPTIONS] sharename mountpoint
.sudo mount -t vboxsf -o uid=$UID,gid=$(id -g) windows_share ~/shared/mount_point
et j'ai fini par mettre le texte suivant dans /etc/rc.local pour que cela fonctionne:mount -t vboxsf windows_share /home/dev/shared/mount_point
où dev est mon utilisateur, FYI / etc / fstab fonctionne également!mount
commande enrc.local
script pour inclure mon nom d'utilisateur (2000
):mount.vboxsf -o rw,uid=1000 /home/mwittie/Dropbox Dropbox vboxsf
. PS Si quelqu'un cherche un tutoriel sur la façon d'activerrc.local
Ubuntu 17.04, cela a fonctionné pour moi. PPS, je n’ai pas besoin d’inclure vboxsf dans/etc/modules
.Après une matinée épuisante à essayer tout ce qui précède dans Ubutntu 16.04 s’exécutant dans Virtualbox 5.0.20 sans succès (particulièrement déçue que la solution rc.local ne fonctionne pas), elle a fonctionné comme suit:
Enregistrement dans le menu Dossiers partagés de l'interface graphique Virtualbox du répertoire requis, mais PAS de son montage automatique ni de son montage permanent à partir de Virtualbox. Sinon, le répertoire de l'hôte est monté par la racine et l'accès par les utilisateurs non-root est difficile, même à partir du groupe d'administrateurs.
ajout d'une entrée simple dans fstab:
noauto
Option de note - sinon le chargeur de démarrage échoue comme cela a été noté.Ajoutez la ligne correspondante à
/etc/sudoers
comme suit en utilisant la commande visudo à partir du système d'exploitation invité:Cela permettra aux processus non root de monter ceci spécifiquement (car fstab ne peut pas monter avec l'option 'utilisateur' ...)
Ajouter la ligne correspondante au fichier .profile de l'utilisateur:
Désormais, le sous-répertoire de l'hôte sélectionné est prêt pour l'utilisateur sélectionné lors de la connexion!
la source
noauto
?Pour les systèmes basés sur systemd plus récents , vous avez besoin d’approches alternatives - la plus simple étant celle mentionnée dans une autre réponse à une autre question - qui indique en gros que vous devez ajouter une
comment
option spéciale à l’/etc/fstab
entrée:Cependant, pour que ce qui précède fonctionne sur certains systèmes, vous devez cocher la case "Montage automatique" dans la boîte de dialogue Dossiers partagés-> Ajouter de VirtualBox, ce qui signifie que vous pouvez vous retrouver avec quelques montages dupliqués du répertoire.
Pour un kit de montage propre - sans répertoires en double , ni la nécessité de « Auto-montage » - vous devez utiliser systemd de montage et automontage directives. Pour ce faire, créez deux entrées
/usr/lib/systemd/system/
nommées en fonction de votre point de montage souhaité, par exemple, pour correspondre au point de montage fstab ci-dessus, elles seraient nomméesmy_mount-src_host.mount
et contiendraient:et
my_mount-src_host.automount
:Ensuite, ils ont besoin de permettre:
Ils vont maintenant monter au démarrage. Si vous souhaitez les monter immédiatement (à condition que les dossiers partagés aient été créés), vous pouvez le faire:
Notez que si vous avez des répertoires avec des noms impairs ou des tirets (-), utilisez-les
systemd-escape
pour trouver le nom échappé approprié.la source
comment=systemd.automount
option fonctionne également sans la VBox Automount cochée. J'ai lutté pendant des jours avant de trouver votre solution, merci!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 (sans savoir pourquoi). J'ai donc ajouté une ligne pour changer le répertoire dans mon dossier personnel avant la commande mount, et maintenant cela fonctionne.
Donc, mon partage Windows s'appelle
Dropbox
, mon point de montage est/home/jamie/Dropbox
, mon nom d'utilisateur estjamie
, voici ce que j'ai mis dans rc.local:la source
sleep 2
avant de monter l'appareil.Je le fais d'un mode très similaire à ce qui a été proposé ci-dessus, mais ces scripts créent le requis et montent ou démontent le dossier partagé avec le script suivant:
Enregistrez-le sous
/opt/.scripts/VBoxShared.sh
.Assurez-vous que cela peut être exécuté. Sur type de coque:
Maintenant, nous ajoutons une ligne qui exécute ce script sur
rc.local
:et nous ajoutons ces lignes avant la dernière ligne (
exit 0
):Enregistrer ( CtrlO) et fermez-le ( CtrlX)
À ce stade, nous montons automatiquement tous les dossiers partagés répertoriés
<SharedFolder>
au démarrage.Pour le démonter, il suffit de taper:
sudo nano /etc/rc6.d/K99-vboxsf-umount.sh
Enregistrer ( CtrlO) et fermer ( CtrlX)
Et c'est tout!
la source
Voici une solution de travail.
En tant que root (IE sudo su) Allez dans le dossier d’accueil (cd ~) et créez un fichier cron:
vi cronjobs
Ajoutez le
@reboot sleep 15 suivant; mount -t vboxsf app / mnt / app
Enregistrer le fichier
Remarque: remplacez app par le nom de votre dossier partagé et / mnt / app où vous souhaitez le monter. Dans ce cas, j'ai d'abord créé l'application de dossier sous mount (mkdir app).
Pour activer votre cron en tant que root (pour le nom de fichier ci-dessus)
crontab cronjobs
Assurez-vous que cron est actif:
crontab -l
redémarrez et il sera monté. Un sommeil de 15 secondes laisse suffisamment de temps pour que tout soit prêt pour le montage.
la source
J'ai récemment rencontré ce fil de discussion lorsque, après la mise à jour vers Ubuntu LTS-18 (et n'apportant aucune modification à VirtualBox, et après la réinstallation des extensions et de blah-de-blah), le montage automatique a cessé de fonctionner. Les
sf_xxx
répertoires étaient présents/media/
mais aucun d’entre eux n’a été monté.Les tentatives de montage
/etc/fstab
(comme suggéré par la documentation de VirtualBox) n'ont pas fonctionné: le démarrage a échoué en "mode d'urgence", même lorsque j'avais modifié le/etc/modules
fichier.Ce qui a finalement marché - bien que je le considère comme un bidouillage - est le
crontab
truc décrit ci-dessus.À ce jour, je n'ai aucune idée de "ce qui a éclaté".
la source
J'avais un problème où je pouvais voir le dossier partagé, mais il ne contenait aucun fichier. J'ai donc fait un piratage semblable à ce qui a été montré ci-dessus:
Je me suis assuré que mon utilisateur appartenait au bon groupe et qu’il y avait une entrée dans fstab pour monter le partage, et que les autorisations étaient définies correctement et que le montage automatique était activé dans les paramètres de VirtualBox, mais toujours pas. fichiers à voir.
J'ai donc ouvert l'application Applications de démarrage dans l'interface graphique d'Ubuntu 18.04 et créé une tâche qui exécutait simplement "sudo mount -a" dès le démarrage. Pour une raison quelconque, le dossier partagé n’était pas monté correctement lorsque fstab était automatiquement analysé au démarrage; tout remonter semblait donc résoudre le problème. Maintenant, je peux voir les fichiers dans le partage.
la source
J'ai essayé toutes les solutions ici et aucune n'a fonctionné.
Ce qui a bien fonctionné a été d'installer supervisor et d'exécuter un script python.
superviseur d'installation
apt-get install supervisor
script python (le mien était à /home/ubuntu/shared_folders.py)
créer un fichier de configuration pour superviseur
nano /etc/supervisor/conf.d/sharedfolders.conf
[program:shared_folders] command=python shared_folders.py directory=/home/ubuntu process_name=%(program_name)s_%(process_num)s numprocs=1 numprocs_start=0 autostart=true autorestart=true startsecs=1 startretries=3 exitcodes=0,2 stopsignal=TERM stopwaitsecs=10 ;user=pavelp redirect_stderr=true stdout_logfile=/var/log/supervisor/qlistener-stdout.log stdout_logfile_maxbytes=50MB stdout_logfile_backups=10 stdout_capture_maxbytes=0 stdout_events_enabled=false stderr_logfile=/var/log/supervisor/qlistener-stderr.log stderr_logfile_maxbytes=50MB stderr_logfile_backups=10 stderr_capture_maxbytes=0 stderr_events_enabled=false environment=APPLICATION_ENV=development serverurl=AUTO
supervisor ouvert
sudo supervisorctl
lire la configuration
reread
ajouter une configuration
add shared_folders
la source
(Dans mon cas, mon système d'exploitation hôte est Mac OS X et mon système d'exploitation invité est Ubuntu)
Aucune des solutions ci-dessus, et les solutions mentionnées ici et ici n'a fonctionné pour moi. Il y avait un problème avec chacun d'eux.
Voici ce que j'ai finalement fait pour résoudre le problème:
1- J'ai créé un dossier partagé dans l'interface utilisateur de VirtualBox, en pointant sur un dossier nommé
VMShares
dans mon Mac OS, en le nommant.wd
2- Puis j'ai installé les outils Ubuntu Guest Addition (redémarrage requis)
3- Puis j'ai créé un dossier dans mon OS invité en tant que point de montage (dans mon cas, le nom était
/home/fashid/host
)4- Puis j'ai couru:
Cette commande a pour but de vous assurer que le partage est disponible pour le système d'exploitation invité. En attendant, vous devez toujours le monter dans votre système d'exploitation invité pour le rendre réellement disponible.
Il montrera quelque chose comme:
C'est le truc! Il montre le nom réel que vous devez entrer dans la commande ci-dessous pour le monter et le rendre disponible dans votre OS invité:
Avez-vous réalisé le point? Je n'ai utilisé nulle part plus tard. À l'étape 3, j'avais besoin de récupérer le nom du dossier (hôte) réel au lieu du nom arbitraire que j'ai assigné dans la boîte de dialogue de l'interface graphique.
Via les étapes ci-dessus, mon problème a été résolu.
la source