23/12/2024

Hyper-V

Partager des fichiers entre un hôte Hyper-V et une VM

I. Présentation

Sous Hyper-V, si vous souhaitez partager des fichiers entre votre hôte Hyper-V et un ordinateur virtuel (VM), vous verrez qu'il n'est pas possible de le faire via un "Glisser-Déposer" comme avec VMware lorsque les VMware Tools sont installées dans la VM ou par l'intermédiaire d'un dossier partagé comme on peut le faire avec VirtualBox et VMware. Une fonctionnalité qui manque cruellement puisqu'elle peut s'avérer très utile.

Il existe quelques solutions de contournement dont une qui consiste à utiliser un disque dur virtuel (VHD/VHDX) en l'attachant une fois à l'hôte Hyper-V pour y stocker les fichiers à transférer puis ensuite à la machine virtuelle pour récupérer les fichiers. C'est cette solution que nous allons voir, c'est celle qui me semble le plus efficace malgré que ce soit assez lourd en manipulation, puisque même si votre VM n'est pas connectée au même réseau que l'hôte Hyper-V vous pourrez effectuer le transfert.

-- Mise à jour 24/11/2013

L'arrivée de Windows 8.1 et Windows Server 2012 R2 est accompagnée par l'arrivée d'une nouvelle version d'Hyper-V, cette dernière rend le transfert de fichiers entre l'hôte et une VM plus facile. Pour plus d'informations, je vous invite à lire la partie VI de ce tutoriel.

II. Préparation du disque dur virtuel

Sur la machine physique, c'est à dire l'hôte Hyper-V, accédez à la Gestion de l'ordinateur pour avoir accès à la gestion des disques. Ensuite, faites clic droit sur "Gestion des disques" sur la gauche puis "Créer un disque dur virtuel".

hyperv37

Indiquez un emplacement pour stocker le disque dur virtuel puis une taille pour ce disque. Pensez à sélectionner également "Extension dynamique" pour que la taille de votre disque dur virtuel soit allouée au fur et à mesure que vous en avez besoin, cela vous permet de créer un disque dur virtuel de plus grande taille sans que cette taille soit réservée immédiatement après la création. Cliquez sur "OK".

hyperv38

Une fois la création effectuée, votre disque devrait apparaître dans la liste. Sélectionnez-le. Faites clic droit dessus puis "Initialiser le disque".

hyperv39
Une fenêtre va s'ouvrir pour valider l'initialisation, cliquez sur "OK".

hyperv40
Une fois revenu dans la fenêtre de Gestion des disques, faites clic droit sur le disque dur virtuel puis créez un nouveau volume simple. Laissez-vous guider par l'assistant.

hyperv41

Sur votre machine, vous retrouverez votre disque dur virtuel monté et prêt à l'emploi. Stockez à l'intérieur du disque les fichiers à transférer vers votre ordinateur virtuel.

hyperv42

Retournez dans la console de Gestion de l'ordinateur puis dans la section Gestion des disques. Faites clic droit sur le disque dur virtuel - une fois la copie des fichiers terminée - et cliquez sur "Détacher un disque dur virtuel" pour ne plus lier l'hôte physique au fichier VHD/VHDX.

hyperv43

III. Lier le disque virtuel à l'ordinateur virtuel

Nous avons maintenant un disque dur virtuel contenant les données à transférer sur la machine virtuelle, il faut lier le disque dur virtuel à l'ordinateur virtuel. Pour cela, on va le monter dans la machine virtuelle en passant par la configuration de la VM.

En faisant clic droit sur votre machine virtuelle, cliquez sur "Paramètres" puis sur la gauche, sélectionnez "Contrôleur SCSI". Ensuite, dans le volet de droite sélectionnez "Disque dur" et cliquez sur "Ajouter".

hyperv44

Laissez "Contrôleur SCSI" pour le type de contrôleur, par contre pour l'emplacement mettais un emplacement disponible (en général le "0" est déjà utilisé). Pour finir, indiquez le chemin vers votre disque dur virtuel dans le chemin "Disque dur virtuel" puis validez.

hyperv45

Vous pouvez désormais accéder à votre disque dur virtuel dans votre machine virtuelle :

hyperv46

IV. Transférer de nouveaux fichiers

Pour transférer de nouveaux fichiers, il va falloir déconnecter le fichier VHD/VHDX de la VM puis le connecter à nouveau sur l'hôte Hyper-V. Pour cela, vous devez accéder à nouveau à la configuration de l'ordinateur virtuel dans la section "Contrôleur SCSI", sélectionnez votre disque dur virtuel puis cliquez sur le bouton "Retirer" situé dans la partie inférieure du volet de droite. Appliquez les changements. Votre disque dur virtuel est désormais détaché de votre VM.

hyperv47

Sur l'hôte Hyper-V, vous devez attacher un disque dur virtuel en passant par la gestion des disques comme nous l'avons fait précédemment sauf que là il n'est pas nécessaire de formater le disque dur et de l'initialiser puisque nous l'avons déjà fait.

hyperv48

V. Quelques autres pistes de contournement

Si cette solution ne vous convient pas, vous trouverez ci-dessous quelques pistes de contournement afin de partager des fichiers entre une machine virtuelle et l’hôte physique.

- Créer un ISO contenant les fichiers à transférer puis le monter dans la machine virtuelle grâce à la fonction d’émulation intégrée à Hyper-V.

- Créer un partager entre l’hôte physique et la machine virtuelle Hyper-V mais il faut obligatoirement que les deux machines puissent communiquer entre-elles.

- Héberger les fichiers sur un serveur distant auquel peut accéder la machine virtuelle ou héberger les fichiers dans le cloud.

VI. Possibilités avec Windows 8.1 et Windows Server 2012 R2

Deux nouvelles méthodes sont implémentées avec l'arrivée de ces deux systèmes d'exploitations : Le transfert de fichiers directement via le protocole RDP grâce aux clients de connexion à la VM depuis l'hôte et, l'utilisation du commandlet PowerShell nommé Copy-VMFile.

A. Échange via le client RDP

Pour effectuer un échange de fichiers via RDP, dans les paramètres de votre hôte Hyper-V, vous devez activer le mode session étendu dans les paramètres de "Mode de session étendu". Cela permet également de monter les imprimantes, l'audio, les lecteurs de disques, les périphériques USB,... très intéressant ! De plus, il n'est pas nécessaire de connecter la VM au réseau puisque vous n'avez qu'à vous connecter à votre VM depuis votre hôte Hyper-V.

hyperv53

B. Échange via PowerShell

Cette méthode fait appel au commandlet Copy-VMFile mais fonctionne uniquement dans le sens hôte Hyper-V vers VM, puisqu'en source il est possible uniquement de préciser la valeur "host" désignant l'hôte Hyper-V.

Pour en profiter, vous devez activer les "Services d'invité" dans les paramètres de la VM, car cette méthode fait appel aux services d'intégrations de la VM qui l'a permette d'échanger avec l'hôte Hyper-V.

hyperv55

Voici la syntaxe de cette commande :

Copy-VMFile -Name <NomVM> -SourcePath <chemin-vers-source> -DestinationPath <chemin-vers-destination> -FileSource Host -CreateFullPath

hyperv54

N'hésitez pas à laisser un commentaire pour obtenir plus d'informations ou à utiliser le forum en cas de problème.

author avatar
Florian BURNEL Co-founder of IT-Connect
Ingénieur système et réseau, cofondateur d'IT-Connect et Microsoft MVP "Cloud and Datacenter Management". Je souhaite partager mon expérience et mes découvertes au travers de mes articles. Généraliste avec une attirance particulière pour les solutions Microsoft et le scripting. Bonne lecture.
Partagez cet article Partager sur Twitter Partager sur Facebook Partager sur Linkedin Envoyer par mail

8 commentaires sur “Partager des fichiers entre un hôte Hyper-V et une VM

  • Merci bcp ,
    cependant comment effectuer ce meme partage dans le cloud!
    c’est à dire avec windows 8 installé sur l’hote hyper-v et windows server 2012 r2 deployé sur le cloud????
    Bien de choses à vous!

    Répondre
  • bonjour,

    Merci beaucoup.
    J’aimerais utiliser l’option échange via le client RDP car j’ai les versions qui correspondent à cette option.
    Comment utiliser ce RDP ?
    Encore merci.

    Véronique

    Répondre
  • Merci!!!!!
    Débutant en Hyper V,je viens d’ être sauvé et en plus c’est clair!

    Répondre
  • Merci beaucoup pour votre générosité.
    Joyeuses fêtes.

    Répondre
  • Ce tutoriel est daté, (2013).
    Hyper V s’est amélioré depuis il semblerait. Le copier-collé est supporté (j’ai trouvé le taux d’echange un peu faible de la VM à la l’hôte), et l’acces aux disques de l’ordinateur hôte aussi (20Mo/s).
    Enfin: lors de la connexion à la VM et l’écran de choix des dimensions d’affichage il faut simplement cocher « afficher les options » et aller dans l’onglet « ressources locales » cocher les disques dans « autre » périphériques….
    Partage des Disques locaux et support du copier/coller. Pas besoin de créer un .iso pour chaque échange ou quelconque manipulation pour un échange standard.

    https://docs.microsoft.com/fr-fr/virtualization/hyper-v-on-windows/user-guide/enhanced-session-mode

    Répondre
  • tres interressant mais qu’en ai t’il pour windows 2016 server?
    je souhaiterais partage une cle usb afin d’y mettre des fichiers de boot du mdt mais comment partage cette clé entre mon pc de gestion sous windows 10 ( ou accessoirement mon hote sous win 2016) et ma machine virtuelle?
    merci

    Répondre
  • bonjour.j’ai suivi toutes les étapes telle qu’elles ont été décrites mais lorsque je lance ma machine virtuelle le disque dur virtuel ne s’affiche pas .merci de me proposer une solution

    Répondre

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.