Partager les dossiers VirtualBox en sens inverse? Invité?

72

Je connais bien le processus d'installation des compléments invité et du partage des dossiers de l'hôte avec l'invité, mais existe-t-il un moyen de faire l'inverse?

J'ai un hôte XP et un invité Ubuntu 10.10, avec VBox 4.0.2.

En d'autres termes, j'aimerais que l'hôte ait un accès direct à (au moins une partie) des fichiers contenus dans le fichier .vdi.

Nate Parsons
la source
2
Il est possible de monter un vdi en tant que disque dur. Est-ce intéressant pour vous? (pas possible tant que l'invité est en cours d'exécution)
harrymc

Réponses:

45

Il n'y a aucun moyen de faire cela avec les extensions Guest, cependant, configurez le partage de fichiers Ubuntu normal sur votre invité et vous pourrez accéder aux fichiers en utilisant le réseau virtuel entre l'hôte et l'invité. La version OSE de VirtualBox ne comporte pas de dossiers partagés. Il s'agit de la méthode de partage recommandée pour VirtualBox, telle que décrite ici . How-To Geek propose ici un didacticiel expliquant comment le faire avec Ubuntu. Il s'applique également à tout ce qui est en dehors des dossiers de départ.

Le pilote de réseau est suffisamment intelligent pour ne pas envoyer le trafic sur le réseau, mais reste utilisé pour communiquer avec l'invité. J'ai quelques machines virtuelles que je lance et utilise comme ceci, à la fois sur Mac et Windows.

BinaryMisfit
la source
La même méthode, en utilisant simplement un autre protocole, pourrait consister à utiliser quelque chose comme Dokan SSHFS. Selon le cas d'utilisation et la configuration, il peut être plus sûr et plus performant tout en permettant l'exploration (avec les droits appropriés) de l'ensemble du système de fichiers.
Lloeki
Voici un excellent tutoriel sur la façon de faire fonctionner cela avec un invité Linux et un hôte Windows utilisant samba: superuser.com/questions/258026/…
bjtilley
dans ce cas, étant donné qu’il s’agit d’une machine sous Windows, samba peut constituer un bon choix - mais si vous vous connectez sous mac et linux ou sous linux et linux, utilisez nfs - steps à serverfault.com/questions/716350/…
Ben Creasy
9

Par défaut, la machine virtuelle dispose d'une connexion NAT au réseau local, ce qui signifie qu'elle ne possède pas de "vraie" adresse IP. Si vous configurez plutôt une connexion pontée, vous pouvez utiliser des méthodes de partage de fichiers classiques à partir du PC virtuel, par exemple le partage de fichiers Windows (y compris SAMBA sous Linux / Unix / etc.) Ou NFS. Bien entendu, la machine virtuelle devrait être en cours d'exécution.

Il est également possible de monter un VDI en tant que lecteur sous le système d'exploitation hôte. Je ne connais pas les détails de cette procédure sur un hôte XP, et je pense que vous devrez fermer (plutôt que suspendre) le système d'exploitation invité pour pouvoir éviter la corruption du disque dur.

CarlF
la source
Selon la configuration de l'adaptateur réseau de la machine virtuelle invité, il s'agit de la meilleure solution. Virtual Box partage le dossier d’un hôte en le transformant en un partage réseau. Vous pouvez aller dans l'autre sens avec ça. Partagez le dossier de la machine virtuelle invitée et connectez-vous à celui-ci en tant que partage réseau. Attention cependant, si vous configurez la carte réseau de l'invité en tant qu'interne ou NAT, c'est plus compliqué. Il est préférable de définir la carte réseau comme "pontée", de cette façon, ils se trouveront dans le même sous-réseau.
surfasb
1
vous pouvez configurer plusieurs interfaces, avoir l'une comme NAT et l'autre comme HOST-ONLY. Vous pouvez même corriger l'adresse du côté de l'hôte uniquement pour avoir toujours la même adresse pour le partage de fichiers
nhed
2

Il y a une solution délicate:

  1. Sous Windows, installez cygwin
  2. Utilisez les mêmes noms d'utilisateur sous Windows et Linux
  3. Sous Windows, créez le répertoire $ HOME / shared et faites-en un dossier partagé dans la VBox
  4. Sur votre Linux, créez les répertoires ~ / shared et ~ / shared_local et exécutez:sudo /sbin/mount.vboxsf -o gid=1000,uid=1000 shared ~/shared
  5. Utilisez-le rsyncpour synchroniser vos données dans ~ / shared avec ~ / shared_local .

Vous pouvez utiliser les mêmes scripts bash sous Linux et Windows. Vous pouvez accéder à toutes les données de votre ~ / partagé à partir de Windows et de Linux en utilisant le même chemin.

psihodélie
la source
0

Ceci peut être fait. Ce que vous devez faire, c'est ajouter une carte réseau supplémentaire en tant que réseau uniquement hôte et redémarrer l'ordinateur invité. Pendant le redémarrage, vous serez invité à installer une nouvelle interface réseau, répondez oui à cette question. Une fois démarré, la machine invitée est accessible à partir de l'hôte en utilisant l'adresse IP de l'invité. Je suggère de définir une adresse IP statique, 192.168.50.10, par exemple pour l'invité. Partagez la samba et vous devriez pouvoir lui parler à partir de la machine hôte. Je l'ai fait et c'est génial.

Chung Tran
la source