Hoe bestanden te kopiëren naar Hyper-V Server en VM’s: 7 methoden

Hyper-V is een hypervisor die op Windows draait en zowel lokaal op de machine waar het is geïnstalleerd als op afstand kan worden beheerd. Vaak moet je bestanden kopiëren naar de Hyper-V-server en vanaf een server naar virtuele machines. Je kunt niet zomaar bestanden slepen en neerzetten naar Hyper-V-VM’s, en je moet andere methoden gebruiken om bestanden te kopiëren.

Bijvoorbeeld, bij het maken van een nieuwe virtuele machine in Hyper-V, moet je een besturingssysteem op die VM installeren. Over het algemeen gebeurt dit door een ISO-installatiebeeld van de media van het besturingssysteem te monteren. Om de media naar de Hyper-V-host te krijgen, moet je het ISO-bestand naar de host kopiëren en het gastbesturingssysteem op de nieuwe VM installeren.

Deze blogpost biedt 6 methoden voor het kopiëren van bestanden naar Hyper-V virtuele machines en naar Hyper-V Server. Let op, deze methoden om bestanden naar de Hyper-V-server te kopiëren kunnen ook worden gebruikt in andere scenario’s, zoals het kopiëren van bestanden van een Hyper-V-host naar VM’s.

Methode 1: Hoe bestanden te kopiëren met behulp van een bestandsdeling op een Hyper-V-host

Deze methode houdt in dat je een bestandsdeling creëert op een Hyper-V-host en een ISO-image of andere bestanden naar deze SMB-bestandsdeling kopieert. Het SMB-protocol is een inheems deelprotocol in Windows, maar wordt ook ondersteund in Linux en andere besturingssystemen.

Je kunt deze methode ook gebruiken om bestanden naar de Hyper-V-server te kopiëren vanaf elke fysieke of virtuele machine als er een netwerkverbinding tot stand is gebracht.

  1. Activeer een firewallregel om inkomende SMB-verbindingen toe te staan voor een machine met Hyper-V. Om bestands- en printerdeling in de firewall in te schakelen, voer je de volgende opdracht uit op de Hyper-V-host:

netsh advfirewall firewall set rule group=”Bestands- en printerdeling” new enable=Ja

Opmerking: U kunt een SMB-bestandsdeling configureren met de juiste machtigingen voor de benodigde gebruikers en alleen de benodigde map delen.

  1. Als u de grafische gebruikersinterface (GUI) op uw Windows-machine heeft, verbindt u met een extern bestandsshare op een Hyper-V-host door het share-pad in de adresbalk van het Windows Verkenner-venster in te voeren. In dit voorbeeld gebruiken we een verborgen systeemshare C$, die standaard is ingeschakeld op alle Windows-machines voor beheersdoeleinden. Op dezelfde manier kunt u verbinding maken met andere volumes zoals D$, E$, enz.

\\10.10.10.31\c$\

Opmerking: Bestanden worden opgeslagen op schijf C: voor demonstratiedoeleinden. Het wordt aanbevolen om een andere toegewijde partitie te gebruiken voor VM-bestanden, ISO-afbeeldingen, bestandsdelingen en andere niet-systeemgegevens.

  1. Navigeer naar de map waar u uw ISO-afbeeldingen wilt opslaan of waar de andere bestanden die u moet kopiëren zich bevinden. U kunt deze map nu maken als deze nog niet is gemaakt. In ons geval bevinden de ISO-bestanden zich in C:\ISO_1\ op onze Hyper-V-host en het netwerkpad is \\10.10.10.31\c$\ISO_1\

Als u de opdrachtregelinterface moet gebruiken, kunt u het SMB-bestandsshare toewijzen als een netwerkstation met de opdracht:

Net use * \\〈uw Hyper-V-host〉\d$

Bijvoorbeeld,

net use S: \\10.10.10.31\d$

Opmerking: U kunt dit commando uitvoeren in CMD of PowerShell op de client of server die de gegevens heeft die u wilt overbrengen naar Hyper-V.

  1. Kopieer het benodigde ISO-bestand (of andere bestanden) vanaf uw lokale machine (C:\data\shared01\ in ons geval) naar de Hyper-V-host door gebruik te maken van dit netwerkpad.

  1. Na het kopiëren van het ISO-image naar de server kunnen we het DVD-station naar het imagebestand wijzen en naar de map bladeren die we hebben gemaakt op de root van de (C:) schijf.

  1. Nadat u alle benodigde bestanden naar uw Hyper-V-host hebt gekopieerd, kunt u inkomende verbindingen uitschakelen in de Windows-firewall op de Hyper-V-host voor beveiligingsdoeleinden. We kunnen de firewallregels voor het delen van bestanden en printers uitschakelen die we hierboven hebben toegestaan als we ervoor kiezen dat te doen door eenvoudig Ja te wijzigen in Nee in het PowerShell-commando.

netsh advfirewall firewall set rule group=”Bestanden en printer delen” nieuw inschakelen=Nee

Methode 2: Hoe bestanden kopiëren naar Hyper-V-servers met behulp van een enkele bestandsshare

Wanneer u meerdere Hyper-V-hosts in uw omgeving heeft, kan het onhandig zijn om een bestandsshare te configureren op elke Hyper-V-host en ISO-images naar al deze Hyper-V-hosts te kopiëren. Bovendien is het mogelijk niet rationeel om op meerdere hosts opslagruimte te gebruiken voor dezelfde ISO-images.

U kunt een bestandsshare configureren op een andere server, bijvoorbeeld op een file server or NAS en daar alle benodigde ISO-images opslaan. Configureer een bestandsshare eenmaal, configureer toegang voor Hyper-V hosts en gebruik de benodigde ISO-images die op één plaats zijn opgeslagen voor alle hosts.

Deze methode is handig als alle gebruikte machines lid zijn van een Active Directory-domein.

Als u deze methode wilt gebruiken om bestanden over te brengen tussen een Hyper-V host en het gastbesturingssysteem van een virtuele machine, moet u een virtuele switch configureren in de Hyper-V-instellingen en de benodigde netwerkmodus instellen.

Als u bestanden wilt kopiëren naar een virtuele machine met een Linux-gast-OS, heeft u naast het gebruik van het SMB-protocol nog een andere optie. U kunt SSH gebruiken voor een veilige Hyper-V-bestandsoverdracht via het netwerk.

Methode 3: Hyper-V-bestandsoverdracht via RDP

Als uw Hyper-V Server wordt uitgevoerd op een Windows-machine met een GUI, kunt u verbinding maken met deze host via RDP (Remote Desktop Protocol) en de lokale schijven van uw lokale machine koppelen om de benodigde bestanden te kopiëren. Hiervoor moet u externe desktopverbindingen inschakelen op de doelserver.

U kunt deze methode gebruiken om bestanden naar de Hyper-V-server te kopiëren vanaf een andere fysieke of virtuele machine die Windows uitvoert.

  1. Om externe desktopverbindingen in te schakelen, gaat u naar Start > Instellingen > Systeem > Externe desktop en schakelt u Externe desktop in.
  2. Start het Windows Remote Desktop-client, de locatie is %windir%\system32\mstsc.exe

Typ mstsc in de commandoregel of in het Run dialoogvenster en druk op Enter.

  1. Voer de IP-adres of hostnaam van de externe computer in (in ons voorbeeld is dit de Hyper-V-host met het IP-adres 10.10.10.31) en de gebruikersnaam. U kunt de gebruikersnaam in het volledige formaat invoeren (domain\user of computer\user).

  1. Ga naar de tab Local Resources en klik op More.

  1. Selecteer de lokale resources die u van uw computer naar de externe host wilt toewijzen (in ons voorbeeld is de externe host een Hyper-V-host). Vergroot Drives en selecteer de nodige schijfstroom. De nodige bestanden zijn gelegen op schijf E:\ op onze computer en dit is waarom we schijf E: kiezen om gemapped te worden voor onze RDP-verbinding.
  2. Klik OK om de instellingen op te slaan en klik vervolgens op Connect.

Nadat een externe bureaublad-sessie is opgericht, open My Computer of This PC in Windows Explorer van de externe machine. U zou de gemappede schijfstroom van uw lokale computer moeten zien die is gemapped naar de externe machine (E on SERVER01-DC in het onderstaande schermafbeelding). Bladere naar de nodige bestanden op deze gemappede schijf en kopieer ze naar uw Hyper-V-host.

Deze methode werkt ook voor VMs als ze aan het netwerk zijn gekoppeld.

Methode 4: Hyper-V-bestandsoverdracht met een PowerShell-cmdlet

PowerShell 4.0 en hoger beschikt over een nuttige cmdlet die het mogelijk maakt bestanden van een Hyper-V host te kopiëren naar een virtuele machine zonder dat er een netwerkverbinding bestaat tussen de host en de VM-gast en zonder dat het vuurwerk moet worden geconfigureerd.

Laten we dus kijken hoe u bestanden kunt kopiëren naar een Hyper-V virtuele machine in PowerShell zonder het netwerk te gebruiken.

  1. Schakel Gast diensten in op de virtuele machine. Integratie diensten moeten zijn geïnstalleerd in de gast OS van de VM.

Gast diensten zijn een onderdeel van Hyper-V Integratie diensten, maar ze zijn standaard niet ingeschakeld. Om Gast diensten in te schakelen, open VM instellingen, selecteer Integratie diensten in het linker paneel van het venster voor VM instellingen, en selecteer de Gast diensten aanvinkbalk.

Schakel in PowerShell de Gast diensten voor de VM in:

Enable-VMIntegrationService -VMName VM1 -Name ‘Guest Service Interface’

  1. U kunt controleren of de functie Gast diensten is ingeschakeld in PowerShell:

Get-VMIntegrationService -name Guest* -VMName VM1,VM2

Waar VM1,VM2 de VM-namen zijn.

  • Als de status Geen contact is, moet je de VM bijwerken en Integration Services installeren in het gast-OS.
  • Als de status Onwaar is, kun je de benodigde gastservices-interface inschakelen:

Enable-VMIntegrationService -naam Guest* -VMName win10preview -Passthru

  1. Gebruik het commando zoals hieronder voor Hyper-V bestandsoverdracht van de Hyper-V host naar de VM-gast door het instellen van het bronpad op de Hyper-V host en het bestemmingspad op de VM:

Copy-VMFile “VMNaam” -SourcePath “F:\Test.txt” -DestinationPath “C:\Temp\Test.txt” -CreateFullPath -FileSource Host

Waar:

  • VMNaam is de naam van de VM waarnaar je het bestand kopieert (je kunt de VM-naam zien in Hyper-V Manager; dit is niet de hostnaam van de VM die wordt weergegeven in het gast-OS).
  • SourcePath is het pad naar het bronbestand op de Hyper-V host (het bestand dat je moet kopiëren).
  • DestinationPath is het pad naar het bestemmingsbestand op de VM (waar je het benodigde bestand wilt kopiëren).
  • Met het commando -CreateFullPath wordt een volledig pad met alle benodigde mappen gemaakt als ze niet bestaan.

In ons voorbeeld is het exacte PowerShell-commando voor Hyper V bestandsoverdracht van een host naar een VM-gast:

Copy-VMFile “VM2” -SourcePath “C:\temp\file01.txt” -DestinationPath “C:\Temp1\file01.txt” -CreateFullPath -FileSource Host

Opmerking: de cmdlet Copy-VMFile werkt alleen in de richting van een Hyper-V host naar VM.

Methode 5: VHDX monteren op een host en gast

Het idee van deze methode is om een VHDX virtuele schijf te maken die kan worden gemounted op zowel een Hyper-V host als VM. U kunt de nodige bestanden naar deze virtuele schijf kopiëren, de schijf mounten op de nodige machine en bestanden van/naar de virtuele schijf kopiëren.

We gebruiken Windows Server 2019 in ons voorbeeld. Het maken van een VHDX virtuele schijf is beschikbaar in Computerbeheer, niet alleen in Hyper-V Beheerder bij het configureren van VMs.

  1. Open het Computerbeheer scherm. U kunt dit doen door Win+R te drukken om de Uitvoeren dialoog te openen en de compmgmt.msc opdracht uit te voeren.
  2. Ga naar Opslag > Schijfbeheer in het Computerbeheer scherm.
  3. Klik met de rechtermuisknop op Schijfbeheer en klik in het contextmenu op VHD aanmaken.

  1. A new window opens to create a virtual disk.
  • Geef de locatie op van de virtuele hardeschijf op de Hyper-V host, bijvoorbeeld, C:\Hyper-V\data-temp\
  • Stel de grootte in van de virtuele hardeschijf. We maken een 8-GB virtuele hardeschijf voor demo-doeleinden.
  • Kies een bestandsformaat voor de virtuele hardeschijf. We selecteren VHDX als het nieuwere formaat. Lees over VHD vs VHDX om meer te leren over de verschillen.
  • Kies een type virtuele hardeschijf. We selecteren Dynamisch uitbreidend om opslagruimte te besparen tot de schijf gevuld is met gegevens.
  • Klik OK om instellingen op te slaan en het scherm te sluiten.

Alternatief, hier is een voorbeeld van het commando om een VHDX virtuele schijf te maken in PowerShell:

New-VHD -Path C:\Hyper-V\data-temp.vhdx -SizeBytes 8GB -Dynamic -BlockSizeBytes 1MB

Het commando om een VHD virtuele schijf te monteren in PowerShell:

mount-VHD -path C:\Hyper-V\data-temp.vhdx

A virtual hard disk has been created on our Hyper-V host.

  1. Klik met de rechtsmuis op deze VHDX virtuele hardeschijf in het Schijfbeheer snelmenu en klik op Initialiseer schijf.

Als u liever PowerShell wilt gebruiken, kunt u alle gemonteerde schijven lijsten om het nummer van de nodige virtuele schijf te identificeren voordat de initialisatie:

Get-Disk

  1. Uw schijf wordt automatisch geselecteerd. Selecteer de partitie-stijl. We gebruiken MBR (Master Boot Record) voor betere kompatibiliteit. Klik op OK.

Alternatief, het commando voor degene die PowerShell gebruikt, bevat het nummer van een virtuele schijf en partitie-stijl:

Initialize-Disk 1 -PartitionStyle MBR

  1. Maak een nieuwe schijf (partitie) aan op de geïnitialiseerde virtuele schijf op de Hyper-V-host. Deze partitie zal ook zichtbaar zijn in een Windows VM (of Linux die kan werken met NTFS bestandssystemen).

Klik met de rechtsmuis op de 8-GB-schijf en klik Nieuwe eenvoudige schijf in het contextmenu.

  1. De Nieuwe eenvoudige volume-assistent wordt geopend. Kies Volgende.
  2. Geef de grootte van het volume op. Gebruik de gehele schijfgrootte voor dit volume.

  1. Geef een schijfletter toe, bijvoorbeeld H:

  1. Formateer de partitie. Kies het NTFS bestandssysteem, laat de standaard toegewezen eenheidgrootte staan en voer een volume-label in (bijvoorbeeld, Copy-Files). Selecteer de checkbox Een snel formateren uitvoeren.

U kunt ook deze PowerShell-opdrachten gebruiken om een volume te maken en te formateren:

New-Partition -DiskNumber 1 -UseMaximumsize -AssignDriveLetter

Format-Volume -DriveLetter H -FileSystem NTFS -Full -Force

  1. Nadat u de assistent hebt voltooid, zou u uw aangekoppelde virtuele schijf moeten zien in Windows Explorer van de Hyper-V-hostmachine.
  2. Kopieer de nodige bestanden naar de partitie op de virtuele schijf. We kopiëren file01.txt, zoals getoond in het onderstaande schermafbeelding.

  1. We moeten een virtuele schijf van onze Hyper-V-hostmachine ontkoppelen nadat we alle nodige bestanden naar de virtuele schijf hebben gekopieerd.

Klik met de rechtermuisknop op de juiste partitie die van de VHDX- virtuele schijf is aangekoppeld en kies Eject in het contextmenu.

Als alternatief, de opdracht om een virtuele schijf van een hostmachine niet meer aan te koppelen in PowerShell:

dismount-VHD -path C:\Hyper-V\data-temp.vhdx

  1. U kunt deze voor Hyper V bestandsoverdracht gemaakte virtuele schijf van een Hyper-V-host naar een gast en omgekeerd aankoppelen. Laat ons een met bestanden gevuld virtuele schijf aan de virtuele machine koppelen.
  1. Selecteer de benodigde VM en open VM-instellingen in Hyper-V Manager.
  2. Selecteer in het linkerpaneel van het venster met de VM-instellingen de benodigde virtuele schijfcontroller.
  3. Selecteer Harde schijf en klik op Toevoegen.

  1. Selecteer Virtuele harde schijf en klik op Bladeren om de bestaande virtuele harde schijf toe te voegen aan de VM.
  2. Geef het pad naar de VHDX op. In ons geval is het pad C:\Hyper-V\data-temp.vhdx
  3. Klik op OK om de instellingen op te slaan.

Als alternatief is dit het PowerShell-commando om een bestaande virtuele harde schijf toe te voegen aan de configuratie van een Hyper-V VM:

Add-VMHardDiskDrive -VMName VM2 -Path C:\Hyper-V\data-temp.vhdx

  1. Start de virtuele machine met de vastgemaakte virtuele schijf op uw Hyper-V host.
  2. Meld u aan bij een gastbesturingssysteem en controleer of de volume op de virtuele schijf automatisch is aangekoppeld. Indien niet, ga naar Beheer van de computer> Schijfbeheer en kies een schijfletter voor het volume met de bestanden die u vanaf de Hyper-V host naar de VM moet overdragen.
  3. Kopieer de nodige bestanden van de vastgemaakte virtuele schijf naar de virtuele machine.

Methode 6: VMConnect met Verbeterde Sessie Modus

VMConnect, of Virtual Machine Connection, is een ingebouwde Hyper-V tool om virtuele machines te beheren. Een scherm dat als een monitor voor de VM fungeert, waar u ziet hoe u navigeert met een toetsenbord en muis, maakt deel uit van de VMConnect-tool. Het gebruik van VMConnect in de geavanceerde sessie modus is comfortabeler en biedt meer functionaliteit.

De geavanceerde sessie modus staat u toe om schermresoluties aan te passen bij het verbinden met een VM en lokale resources van de host die u Hyper-V Manager uitvoert, toe te koppelen om VMs te beheren. De lokale resources worden gelijkaardig gekoppeld als u een Remote Desktop verbinding gebruikt om toegang te krijgen tot een externe host of VM.

Om Geavanceerde sessie modus te inschakelen:

  1. Klik met de rechts muisknop op de naam van uw Hyper-V host in Hyper-V Manager en klik in het contextmenu op Hyper-V instellingen.
  2. Klik op Geavanceerde sessie modus in het linker paneel
  3. Selecteer het vak Gebruik geavanceerde sessie modus.

Als alternatief schakelt u de Geavanceerde sessie modus in PowerShell in:

Set-VMHost -EnableEnhancedSessionMode $True

Nadat de Geavanceerde sessie modus is ingeschakeld en alles is ingesteld voor dit in de gast VM en de Hyper-V server, kunt u de VM starten en met VMConnect verbinden aan deze VM.

U zou het venster voor het selecteren van de resoluties voor weergave moeten zien als de Geavanceerde sessie modus ingeschakeld is. Klik in dit venster op Toon opties.

Selecteer de tab Lokale resources. Klik op Meer in de sectie Lokale apparaten en resources.

Selecteer schijven beschikbaar op uw Hyper-V host die u wilt verbinden met een VM.

Methode 7: Hyper-V Bestandsoverdracht Met ISO-afbeeldingen

Een andere methode om bestanden naar een Hyper-V virtuele machine te kopiëren is vergelijkbaar met het gebruik van een VHDX virtuele schijf. Echter, deze is alleen in één richting (kopieer Hyper-V bestanden naar VM) en de toegang tot de bestanden vanuit de VM is alleen-lezen.

Als u een toepassing hebt die ISO-bestanden kan bewerken en schrijven, die CD/DVD-afbeeldingsbestanden zijn, kunt u de vereiste bestanden op uw Hyper-V host schrijven naar de ISO-afbeelding en deze ISO-afbeelding als virtuele DVD-medium in de VM invoegen.

Als u een bootable ISO-afbeelding moet kopiëren naar uw virtuele machine (bijvoorbeeld bij het testen van gesimuleerde virtueleisolatie), moet u een nieuwe lege niet-bootable ISO-afbeeldingsbestand aanmaken en een bootable ISO-afbeeldingsbestand toevoegen aan dit bestand. Dan kunt u de bootable ISO-afbeelding kopiëren vanuit het buitenste ISO-bestand dat is ingevoegd in de virtuele DVD-schijf van de VM.

Conclusie

Welke methode u ook gebruikt om bestanden naar de Hyper-V Server te kopiëren, is het niet aanbevolen om het ervoor gebruikt te worden voor back-up doeleinden. Deze methoden zijn niet zo efficiënt en betrouwbaar als professionele Hyper-V back-up oplossingen. hedendaagse Hyper-V VM-back-up oplossingen, zoals NAKIVO Backup & Replication, maken host-niveau back-ups die klein, snel en gemakkelijk zijn om data vanaf te herstellen.

Source:
https://www.nakivo.com/blog/copy-files-to-hyper-v-server/