web-dev-qa-db-fra.com

Utilisez virt-manager pour partager des fichiers entre l'hôte Linux et l'invité Windows?

Est-il possible d'utiliser l'option de matériel virtuel "Filesystem Passthrough" dans virt-manager pour partager un dossier sur mon hôte Linux avec mon invité Windows? J'ai trouvé des didacticiels sur la façon de procéder avec un invité Linux, mais lorsque j'essaie avec mon invité Windows, je reçois le message d'erreur suivant lors de la tentative de démarrage de la machine virtuelle:

Error starting domain: Unable to read from monitor: Connection reset by peer

Traceback (most recent call last):   File "/usr/share/virt-manager/virtManager/asyncjob.py", line 100, in cb_wrapper
    callback(asyncjob, *args, **kwargs)   File "/usr/share/virt-manager/virtManager/asyncjob.py", line 122, in tmpcb
    callback(*args, **kwargs)   File "/usr/share/virt-manager/virtManager/domain.py", line 1210, in startup
    self._backend.create()   File "/usr/lib64/python2.7/site-packages/libvirt.py", line 698, in create
    if ret == -1: raise libvirtError ('virDomainCreate() failed', dom=self)
libvirtError: Unable to read from monitor: Connection reset by peer

J'ai essayé de trouver de la documentation mais tout ce que j'ai pu trouver était la page officielle faisant un lien vers un FAQ et "quelques captures d'écran" .

29
Blaker

Je ne pense pas que cela soit possible en utilisant des invités Windows. J'installe généralement un serveur Samba sur l'hôte Linux KVM puis partage un dossier en l'utilisant avec mes KVM invités).

Passthrough du système de fichiers

La documentation sur le partage d'un répertoire de l'hôte KVM avec les invités KVM (Linux)) est disponible ici sur le site Web virt-manager. La page est intitulée: - Exemple de partage de fichiers hôte avec l'invité .

Configurer Samba

Le site Web linux-kvm contient également des instructions pour configurer Samba. Cette documentation est disponible ici, intitulée: Astuce: Comment partager des fichiers sur votre hôte Linux avec un invité Windows en utilisant Samba .

17
slm

Les gestionnaires de fichiers par défaut des environnements de bureau Gnome et KDE peuvent facilement accéder aux ressources partagées de Windows en utilisant le protocole SMB.
Vous n'avez pas besoin d'installer un serveur samba sur la machine hôte Linux car Windows O.S. est déjà livré avec des protocoles de communication samba intégrés.

Disons que votre invité O.S. est " Windows XP " par exemple, choisissez le dossier que vous souhaitez partager ou créez-en un à cet effet, par exemple "hostshare" et faites un clic droit dessus -> " propriétés " -> " partage "Onglet -> sélectionnez:" Partagez ce dossier sur le réseau "et" Autoriser l'utilisateur du réseau à modifier mes fichiers ".

À ce stade, assurez-vous que le pare-feu de Windows donne accès aux fichiers partagés et aux ressources de l'imprimante. Allez dans " menu Démarrer " -> " paramètres "->" Panneau de configuration "->" pare-feu Windows "->" Exceptions "Tab -> sélectionnez: -> " Partage de fichiers et d'imprimantes ".

Assurez-vous que la machine hôte Linux peut être vue depuis l'invité Windows V.M. via le réseau. Ainsi, à partir de la ligne de commande de Windows, tapez: " ping 10.0.0.12 " où dans ce cas (à titre d'exemple) "10.0.0.12" est l'hôte Adresse IP; vous devez le changer pour le vôtre. Si vous ne disposez pas des réponses d'écho, vous devrez résoudre ce problème.
Et faites la même chose à partir de la ligne de commande Linux: " ping -c3 192.168.122.216 ", où ces nombres (comme exemple) appartiennent à l'adresse virt-IP attribuée à la machine virtuelle invitée; vous devez le changer pour le vôtre.

Depuis la machine hôte Linux, ouvrez " Nautilus " et accédez à " Fichier " -> " Se connecter au serveur " -> Into " Adresse du serveur "type de boîte:" smb/192.168.122.216 "-> = " Connectez-vous ".
La fenêtre Nautilus s'ouvrira avec les ressources navigables de votre serveur Samba intégré à Windows. Vous pourrez voir et accéder au contenu du dossier Windows " hostshare ". C'est tout!

7
Andy

Je pense que @slm a fourni la meilleure réponse. TOUTEFOIS, il existe un autre cas d'utilisation. Cette alternative est un peu un hack, cependant.

Guide approximatif. Ne considérez pas ces commandes définitives:

  1. créer un fichier image (disquette ms-dos ou CD ISO-9660)
  2. formater l'image avec un système de fichiers, par ex. mkfs.msdos
  3. copier et manipuler des fichiers sur l'image selon les besoins, comme avec mcopy, et al
  4. monter l'image sur l'invité VM cd-rom ou lecteur de disquette

Ce n'est pas idéal, mais cela peut fonctionner si votre invité VM ne permet pas les connexions de protocole réseau entre dom0 et invité (comme lors d'une session VPN fermée).

Plus d'infos ici:

https://stackoverflow.com/q/11202706/34076

3
0xSheepdog

Un partage en lecture seule est possible (l'invité Windows a R/W et l'hôte Linux peut lire uniquement), car l'hôte Linux peut monter NTFS sur le périphérique de bouclage, supposons que vous utilisez un stockage de type "brut" pour l'invité Windows:

Supposons que vous ayez Win.img comme image brute, elle est émulée en tant que disque.

  • Étape 1: Trouvez l'offset de votre système de fichiers (puisqu'il s'agit d'un disque) à l'aide de fdisk:
$ fdisk -lu Win.img

Disk Win.img: 16.3 GB, 16252928000 bytes
255 heads, 63 sectors/track, 1975 cylinders, total 31744000 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x3a793a79

    Device Boot      Start         End      Blocks   Id  System
    Win.img   *          63    31712309    15856123+   7  HPFS/NTFS/exFAT

Maintenant, calculez le décalage = 63 x 512 = 32256

  • Étape 2: montez-le
mount Win.img /mntpoint -o ro,loop,offset=32256

PRUDENCE

Vous pouvez le monter RW, et donc Linux peut y écrire, mais votre système de fichiers sera corrompu! Parce que Linux et Windows accèdent au système de fichiers AT EN MÊME TEMPS! Ils peuvent allouer les mêmes blocs libres pour écrire les fichiers qu'ils veulent écrire!

la lecture Linux n'est pas stable, dans de rares cas

Avec cette méthode, le système de fichiers est sûr, et surtout OK pour avoir une lecture stable. Cependant, comme je l'ai dit, ils accèdent au système de fichiers en même temps, et donc lorsque Windows essaie d'écrire quelque chose, Linux peut ne pas être informé, et donc lire quelque chose de corrompu. Cependant, si vous l'utilisez avec précaution, la lecture doit être très stable.

1
Robin Hsu

La solution d'Andy a fonctionné pour moi, hôte Debian et invité Windows. Notez que j'ai les outils spice-guest installés avec un pilote réseau spécial de redhat.

De plus, j'ai dû supprimer la protection par mot de passe via smb Ici, sur ce lien, j'ai trouvé comment supprimer le mot de passe https://pureinfotech.com/setup-network-file-sharing-windows-10/

0
Thierry Vilmart

J'utilise Dokany + Win-SSHFS pour monter des dossiers distants sur ssh. Laissez-les jouer au rattrapage, et non l'inverse < sourire maléfique >

0
Arie Skliarouk