logo site
Site WWW de Laurent Bloch
Slogan du site

ISSN 2271-3905
Cliquez ici si vous voulez visiter mon autre site, orienté vers des sujets moins techniques.

Pour recevoir (au plus une fois par semaine) les nouveautés de ce site, indiquez ici votre adresse électronique :

Partage de fichiers avec VirtualBox
Méthode avec Linux
Article mis en ligne le 4 mars 2019
dernière modification le 7 mars 2019

par Laurent Bloch

VirtualBox est un logiciel libre de création et d’administration de machines virtuelles, publié par Oracle. Il peut servir, par exemple, à utiliser deux versions différentes du même système d’exploitation sur un même ordinateur.

Dans ce cas, il peut être utile que le système de la machine hôte et celui de la machine virtuelle aient accès à un répertoire (un dossier, dans le langage profane) commun. Attention, cela suppose que les deux systèmes sachent traiter correctement le système de fichiers où réside le dossier en question (le dossier à partager peut être un répertoire quelconque, pas nécessairement un système de fichiers entier). Essayer par exemple de partager un dossier entre un système Windows et un système Linux peut donner des résultats catastrophiques (destruction de données).

L’exemple donné ici concerne une machine hôte sous Ubuntu 18.10 cosmic (x86-64) et une machine virtuelle sous Ubuntu 18.04.2 LTS. Le fonctionnement de la méthode décrite nécessite l’installation des Additions invité. J’ai trouvé ici des informations utiles, et aussi là mais il manquait une ou deux précisions que j’apporte ici.

Si l’on veut que la machine virtuelle accède à un dossier de la machine hôte, il faut pour commencer créer sur le système de la machine virtuelle le répertoire où on voudra voir apparaître les fichiers en question de la machine hôte. Je suppose ici que machine hôte et machine virtuelle ont un seul utilisateur, d’identifiants uid=1000,gid=1000, sinon il faudra lors du montage passer les identifiants en paramètres (cf. ci-dessous).

 Par les menus de VirtualBox

Depuis la fenêtre VirtualBox de la machine hôte, clic-droit sur l’icône de la machine virtuelle concernée, sélectionner dans le menu l’entrée Configuration (Settings si on est en anglais), et dans le menu qui s’affiche alors choisir l’entrée Dossiers partagés (Shared Folders). Si la machine virtuelle est déjà active, le même menu est accessible depuis le menu Périphériques->Dossiers partagés->Réglages des dossiers partagés....

Sur la droite de cette fenêtre de menu apparaît un petit dossier bleu revêtu d’un signe plus (+) vert. Cliquer sur cette icône déclenche l’affichage d’un menu contextuel qui demande le Chemin du dossier (il s’agit du chemin dans le système de la machine hôte) et le Nom du dossier (il s’agit du nom symbolique par lequel on désignera ce dossier de la machine hôte pour le monter ultérieurement dans le système de la machine virtuelle). Soit par exemple le répertoire sur la machine hôte /home/lbloch/Partage/Travaux et le nom de dossier shared.

Si je veux voir apparaître les fichiers de ce répertoire de la machine hôte sous le répertoire de la machine virtuelle /home/lbloch/Travaux, la commande à donner sera :

Si les identifiants ne sont pas les mêmes sur la machine hôte et sur la machine virtuelle on pourra les passer en paramètres ainsi (si l’on veut pouvoir écrire dans le dossier il est généralement nécessaire de procéder ainsi) :

 Tout en ligne de commande (ou presque)

Pour exécuter ces commandes, il faut avoir installé les Extensions invité selon la procédure décrite ici, puis arrêter la machine virtuelle (je n’ai pas trouvé le moyen d’installer correctement les Extensions invité en lignes de commandes, peut-être comme ceci). L’installation des Extensions invité crée dans le système de la machine virtuelle les groupes vboxsf et vboxusers et y inscrit l’utilisateur principal.

Sur la machine hôte, pour créer le partage nommé Sysadmin qui permettra à la machine virtuelle nommée vUbuntuLTS d’accéder au répertoire de la machine hôte /home/lbloch/nextcloud/Sysadmin, la commande est :

On peut vouloir une restriction d’accès en lecture seule :

Et pour monter le partage, par exemple sur le répertoire de la machine virtuelle Admin :