Come copiare file su Hyper-V Server e VM: 7 metodi

Hyper-V è un hypervisor che gira su Windows e può essere gestito sia direttamente sul computer su cui è installato sia da remoto. Spesso è necessario copiare file su Hyper-V Server e da un server alle VM. Non è possibile semplicemente trascinare i file nelle VM Hyper-V, pertanto è necessario ricorrere ad altri metodi per copiare i file.

Ad esempio, quando si crea una nuova VM in Hyper-V, è necessario installare un sistema operativo su quella VM. In genere, ciò avviene montando un’immagine ISO di installazione del supporto del sistema operativo. Per trasferire il supporto sull’host Hyper-V, è necessario copiare il file ISO sull’host e installare il sistema operativo guest sulla nuova VM.

Questo post del blog illustra 6 metodi per copiare file sulle VM Hyper-V e su Hyper-V Server. Si noti che questi metodi per copiare file su Hyper-V Server possono essere utilizzati anche in altri scenari, come la copia di file da un host Hyper-V alle VM.

NAKIVO per il backup di Hyper-V

NAKIVO per il backup di Hyper-V

Backup senza agent e coerente con le applicazioni per Hyper-V. Protezione anti-ransomware, avvio istantaneo delle VM dal backup, supporto per altre piattaforme virtuali e fisiche e altro ancora.

Metodo 1: Come copiare file utilizzando una condivisione file su un host Hyper-V

Questo metodo prevede la creazione di una condivisione file su un host Hyper-V e la copia di un’immagine ISO o di altri file su questa condivisione SMB. Il Protocollo SMB è un protocollo di condivisione nativo di Windows, ma è supportato anche su Linux e altri sistemi operativi.

È inoltre possibile utilizzare questo metodo per copiare file su un server Hyper-V da qualsiasi macchina fisica o virtuale, purché sia stabilita una connessione di rete.

  1. Abilitare una regola del firewall per consentire le connessioni SMB in entrata per una macchina su cui è in esecuzione Hyper-V. Per abilitare file and printer sharing nel firewall, eseguire il seguente comando sull’host Hyper-V:

netsh advfirewall firewall set rule group="File and Printer Sharing" new enable=Yes

Nota: È possibile configurare una condivisione file SMB con le autorizzazioni appropriate per gli utenti necessari e condividere solo la cartella necessaria.

  1. Se sul computer Windows è presente l’interfaccia utente grafica (GUI), connettersi a una condivisione file remota su un host Hyper-V digitando il percorso della condivisione nella barra degli indirizzi della finestra di Esplora risorse. In questo esempio, utilizziamo una condivisione di sistema nascosta C$, che è abilitata per impostazione predefinita su tutti i computer Windows a scopo di amministrazione. Allo stesso modo, è possibile connettersi ad altri volumi come D$, E$, ecc.

10.10.10.31c$

Nota: I file sono memorizzati sul disco C: a scopo dimostrativo. Si raccomanda di utilizzare un’altra partizione dedicata per i file delle macchine virtuali, le immagini ISO, le condivisioni file e altri dati non di sistema.

  1. Sfoglia la directory in cui si desidera memorizzare le immagini ISO o in cui si trovano gli altri file da copiare. È possibile creare questa directory ora, se non è stata ancora creata. Nel nostro caso, i file ISO si trovano in C:ISO_1 sul nostro host Hyper-V e il percorso di rete è 10.10.10.31c$ISO_1

Se è necessario utilizzare l’interfaccia della riga di comando, è possibile mappare la condivisione file SMB come unità di rete con il comando:

Net use * 〈your hyper-v host〉d$

Ad esempio,

net use S: 10.10.10.31d$

Nota: È possibile eseguire questo comando in CMD o PowerShell sul client o sul server che contiene i dati che si desidera trasferire a Hyper-V.

  1. Copiare il file ISO necessario (o altri file) dal proprio computer locale ( C:datashared01 , nel nostro caso) sull’host Hyper-V utilizzando questo percorso di rete:

How to copy files from Hyper-V to host

  1. . Dopo aver copiato l’immagine ISO sul server, è possibile indirizzare l’unità DVD al file immagine e sfogliare la cartella creata nella directory principale dell’unità (C:).

How to add ISO to Hyper-V

  1. Dopo aver terminato la copia di tutti i file necessari sull’host Hyper-V, è possibile disabilitare le connessioni in entrata nel firewall di Windows sull’host Hyper-V per motivi di sicurezza. Se lo si desidera, è possibile disabilitare le regole del firewall relative alla condivisione di file e stampanti che abbiamo consentito in precedenza, modificando semplicemente Yes in No nel comando PowerShell.

netsh advfirewall firewall set rule group="File and Printer Sharing" new enable=No

Metodo 2: Come copiare file su server Hyper-V utilizzando un’unica condivisione file

Quando nel proprio ambiente sono presenti più host Hyper-V, può risultare scomodo configurare una condivisione file su ciascun host Hyper-V e copiare le immagini ISO su tutti questi host. Inoltre, l’utilizzo di spazio di storage su più host per le stesse immagini ISO potrebbe non essere razionale.

È possibile configurare una condivisione file su un altro server, ad esempio su un server di file o NAS e memorizzare lì tutte le immagini ISO necessarie. Configurare una condivisione file una sola volta, impostare l’accesso per gli host Hyper-V e utilizzare le immagini ISO necessarie memorizzate in un unico posto per tutti gli host.

Hyper-V share folder to access ISO files

Questo metodo è conveniente se tutte le macchine utilizzate fanno parte di un dominio Active Directory.

Se si desidera utilizzare questo metodo per trasferire file tra un host Hyper-V e il sistema operativo guest di una VM, è necessario configurare uno switch virtuale nelle impostazioni di Hyper-V e impostare la modalità di rete necessaria.

Se è necessario copiare file su una VM con un sistema operativo guest Linux, è disponibile un’altra opzione oltre all’utilizzo del protocollo SMB. È possibile utilizzare SSH per il trasferimento sicuro di file Hyper-V sulla rete.

Metodo 3: Trasferimento di file Hyper-V tramite RDP

Se il server Hyper-V è in esecuzione su un computer Windows con interfaccia grafica, è possibile connettersi a questo host tramite RDP (Remote Desktop Protocol) e collegare i dischi locali del proprio computer per copiare i file necessari. Per farlo, è necessario abilitare le connessioni al desktop remoto sul server di destinazione.

È possibile utilizzare questo metodo per copiare file sul server Hyper-V da un’altra macchina fisica o VM che esegue Windows.

  1. Per abilitare le connessioni al desktop remoto, vai su Start > Settings > System > Remote Desktop e abilita Remote Desktop.
  2. Esegui il client Desktop remoto di Windows, che ha la sua ubicazione all’indirizzo %windir%system32mstsc.exe

Digita mstsc nella riga di comando o nella finestra di dialogo Run e premi Enter.

  1. Inserisci l’indirizzo IP o il nome host del computer remoto (nel nostro esempio, si tratta dell’host Hyper-V con l’indirizzo IP 10.10.10.31 ) e il nome utente. È possibile inserire il nome utente nel formato completo ( domainuser oppure computeruser ).

Using RDP for Hyper V file transfer

  1. Passare alla scheda Local Resources e fare clic su More.

How to attach local disks and copy files to Hyper v server via RDP

  1. Selezionare le risorse locali che si desidera mappare dal proprio computer all’host remoto (nel nostro esempio, l’host remoto è un host Hyper-V). Espandi Drives e seleziona l’unità disco necessaria. I file necessari si trovano sul disco E: del nostro computer e, per questo motivo, selezioniamo il disco E: da mappare per la nostra connessione RDP.
  2. Fai clic su OK per salvare le impostazioni, quindi fai clic su Connect.

Selecting a local disk for an RDP connection to add ISO to Hyper-V server

Una volta stabilita una sessione di desktop remoto, apri My Computer o This PC in Esplora file di Windows del computer remoto. Dovresti vedere l’unità disco del tuo computer locale mappata sul computer remoto (E on SERVER01-DC nella schermata qui sotto). Sfoglia i file necessari su questa unità mappata e copiali sul tuo host Hyper-V.

The local disk is connected to the remote Hyper-V host in an RDP session

Questo metodo funziona anche per le VM, purché siano connesse alla rete.

Metodo 4: Trasferimento di file Hyper-V con un cmdlet di PowerShell

PowerShell 4.0 e versioni successive dispongono di un utile cmdlet che consente di copiare file da un host Hyper-V a una VM senza che sia necessaria una connessione di rete tra l’host e il guest della VM e senza dover configurare il firewall.

Vediamo quindi come copiare file su una VM Hyper-V in PowerShell senza utilizzare la rete.

  1. Abilitare i servizi guest sulla macchina virtuale. I servizi di integrazione devono essere installati nel sistema operativo guest della VM.

I servizi guest fanno parte di Servizi di integrazione Hyper-V, ma non sono abilitati per impostazione predefinita. Per abilitare i servizi guest, aprire VM settings, selezionare Integration Services nel riquadro sinistro della finestra delle impostazioni della VM e selezionare la casella di controllo Guest services .
Selecting Guest services for Hyper-V file transfer between a host and guest

Abilitare i servizi guest per la VM in PowerShell: Enable-VMIntegrationService -VMName VM1 -Name 'Guest Service Interface'

  1. È possibile verificare se la funzione Servizi guest è abilitata in PowerShell:

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

Dove VM1,VM2 sono i nomi delle VM

  • Se lo stato è Nessun contatto , è necessario aggiornare la VM e installare Integration Services nel sistema operativo guest.
  • Se lo stato è Falso , è possibile abilitare l’interfaccia dei servizi guest necessaria:

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

  1. Utilizzare il comando riportato di seguito per il trasferimento di file Hyper-V dall’host Hyper-V alla macchina virtuale ospite, impostando il percorso di origine sull’host Hyper-V e il percorso di destinazione sulla macchina virtuale:

Copy-VMFile "VMName" -SourcePath "F:Test.txt" -DestinationPath "C:TempTest.txt" -CreateFullPath -FileSource Host

Dove:

  • VMname è il nome della macchina virtuale su cui si sta copiando il file (è possibile visualizzare il nome della macchina virtuale in Hyper-V Manager; non si tratta del nome host della macchina virtuale visualizzato nel sistema operativo ospite).
  • SourcePath è il percorso del file di origine sull’host Hyper-V (il file che si deve copiare).
  • DestinationPath è il percorso del file di destinazione sulla macchina virtuale (dove copiare il file richiesto).
  • Il comando -CreateFullPath viene utilizzato per creare un percorso completo con tutte le cartelle necessarie, qualora queste non esistano.

Nel nostro esempio, il comando PowerShell esatto per il trasferimento di file da un host Hyper-V a una macchina virtuale guest è:

Copy-VMFile "VM2" -SourcePath "C:tempfile01.txt" -DestinationPath "C:Temp1file01.txt" -CreateFullPath -FileSource Host

Nota: il cmdlet Copy-VMFile funziona solo nella direzione da un host Hyper-V alla macchina virtuale.

Metodo 5: Montaggio di un VHDX su un host e su una macchina virtuale guest

L’idea di questo metodo è quella di creare un disco virtuale VHDX che possa essere montato sia su un host Hyper-V che su una macchina virtuale. È possibile copiare i file necessari su questo disco virtuale, montare il disco sulla macchina desiderata e copiare file da e verso il disco virtuale.

Nel nostro esempio utilizziamo Windows Server 2019. La creazione di un disco virtuale VHDX è disponibile in Gestione computer , non solo in Gestione Hyper-V durante la configurazione delle VM.

  1. Aprire la finestra Computer Management . È possibile farlo premendo Win+R per aprire la finestra di dialogo Run ed eseguendo il comando compmgmt.msc .
  2. Andare su Storage > Disk Management nella finestra Gestione computer .
  3. Fare clic con il tasto destro del mouse su Disk Management e nel menu contestuale fare clic su Create VHD.

Creating a VHD file on a Hyper-V Server

  1. Si apre una nuova finestra per la creazione di un disco virtuale.
  • Specificare la posizione del disco rigido virtuale sull’host Hyper-V, ad esempio, C:Hyper-Vdata-temp
  • Impostare la dimensione del disco rigido virtuale. Creiamo un disco rigido virtuale 8-GB per scopi dimostrativi.
  • Seleziona un formato di disco rigido virtuale. Selezioniamo VHDX come formato più recente. Leggi VHD vs VHDX per saperne di più sulle differenze.
  • Seleziona un tipo di disco rigido virtuale. Selezioniamo Dynamically expanding per risparmiare spazio di storage finché il disco non è riempito dai dati.
  • Premi OK per salvare le impostazioni e chiudere la finestra.

Configuring parameters for a new VHDX file

In alternativa, ecco un esempio di comando per creare un disco virtuale VHDX in PowerShell:

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

Il comando per montare un disco virtuale VHD in PowerShell:

mount-VHD -path C:Hyper-Vdata-temp.vhdx

Un disco rigido virtuale è stato creato sul nostro host Hyper-V.

  1. Fai clic con il tasto destro su questo disco rigido virtuale VHDX nel componente aggiuntivo Disk Management e clicca Initialize Disk.

In alternativa, se preferisci utilizzare PowerShell, elenca tutti i dischi montati per identificare il numero del disco virtuale necessario prima dell’inizializzazione:

Get-Disk

Initializing a disk for Hyper-V file transfer

  1. Il tuo disco è selezionato automaticamente. Seleziona lo stile di partizione. Utilizziamo MBR (Master Boot Record) per una migliore compatibilità. Fai clic su OK.

In alternativa, il comando per chi utilizza PowerShell include il numero di un disco virtuale e lo stile di partizione:

Initialize-Disk 1 -PartitionStyle MBR

Selecting the MBR partition style

  1. Crea un nuovo volume (partizione) sul disco virtuale che è stato inizializzato sull’host Hyper-V. Questa partizione sarà anche visibile in una VM Windows (o Linux che può lavorare con sistemi file NTFS).

Fai clic con il tasto destro sul volume di 8 GB e seleziona New Simple Volume nel menu contestuale.
Creating a new simple volume

  1. Si apre il Wizard Nuovo volume semplice . Fai clic su Next.
  2. Specifica la dimensione del volume. Usa l’intera dimensione del disco per questo volume.

Specifying the volume size

  1. Assegna una lettera di unità, ad esempio, H:

Selecting a drive letter

  1. Format il partizione. Seleziona il sistema file NTFS, lascia la dimensione di unità di allocazione predefinita e inserisci un’etichetta di volume (ad esempio, Copia file ). Seleziona la casella Perform a quick format.

Formatting a partition that will be used for Hyper-V file transfer

In alternativa, puoi utilizzare questi comandi PowerShell per creare e formattare un volume:

New-Partition -DiskNumber 1 -UseMaximumsize -AssignDriveLetter

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

  1. Una volta completato il wizard, dovresti vedere il tuo disco virtuale montato in Esplora risorse di Windows della macchina Host Hyper-V.
  2. Copia i file necessari nella partizione situata sul disco virtuale. Copiamo file01.txt , come mostrato nella schermata qui sotto.

How to copy files to Hyper V virtual machine by using a virtual disk

  1. Dobbiamo smontare un disco virtuale dal nostro host Hyper-V dopo aver copiato tutti i file necessari sul disco virtuale.

Facciamo clic con il tasto destro del mouse sulla partizione appropriata montata dal disco virtuale VHDX e selezioniamo Eject dal menu contestuale.

In alternativa, ecco il comando per smontare un disco virtuale da una macchina host in PowerShell:

dismount-VHD -path C:Hyper-Vdata-temp.vhdx

Eject the virtual disk after you have copied the files

  1. È possibile montare questo disco virtuale, creato per il trasferimento di file Hyper-V, da un host Hyper-V a una macchina guest e viceversa. Montiamo un disco virtuale contenente i file scritti sulla VM.
  1. Selezionare la macchina virtuale desiderata e aprire VM Settings in Hyper-V Manager.
  2. Selezionare il controller del disco virtuale desiderato nel riquadro sinistro della finestra delle impostazioni della macchina virtuale.
  3. Selezionare Hard Drive e fare clic su Add.

Adding a new virtual hard disk drive to the VM configuration

  1. Selezionare Virtual hard disk e fare clic su Browse per aggiungere il disco rigido virtuale esistente alla macchina virtuale.
  2. Specificare il percorso del file VHDX. Nel nostro caso, il percorso è C:Hyper-Vdata-temp.vhdx
  3. Premere OK per salvare le impostazioni.

In alternativa, ecco il comando PowerShell per aggiungere un disco rigido virtuale esistente alla configurazione di una VM Hyper-V:

Add-VMHardDiskDrive -VMName VM2 -Path C:Hyper-Vdata-temp.vhdx

Browsing a virtual disk you have created to transfer files from Hyper-V to host (or from host to VM)

  1. Avvia la VM con il disco virtuale allegato sul tuo host Hyper-V.
  2. Accedi al sistema operativo guest e verifica se il volume presente sul disco virtuale è stato montato automaticamente. In caso contrario, vai su Computer Management > Disk Management e assegna una lettera di unità al volume contenente i file che devi trasferire dall’host Hyper-V alla VM.
  3. Copiare i file necessari dal disco virtuale allegato alla VM.

Metodo 6: VMConnect con modalità di sessione avanzata

VMConnect, o Virtual Machine Connection, è uno strumento integrato in Hyper-V per la gestione delle VM. Lo strumento VMConnect include una schermata che funge da monitor per la VM, in cui è possibile vedere come si naviga con tastiera e mouse. L’utilizzo di VMConnect con la modalità di sessione avanzata è più comodo e offre maggiori funzioni.

La modalità di sessione avanzata consente di personalizzare la risoluzione dello schermo quando ci si connette a una VM e di collegare le risorse locali dell’host su cui è in esecuzione Hyper-V Manager per gestire le VM. Le risorse locali vengono collegate in modo simile a quanto avviene quando si utilizza una connessione Desktop remoto per accedere a un host o a una VM remota.

Per abilitare Enhanced session mode:

  1. Fare clic con il tasto destro del mouse sul nome dell’host Hyper-V in Hyper-V Manager e, nel menu contestuale, selezionare Hyper-V Settings.
  2. Fare clic su Enhanced session mode nel pannello di sinistra
  3. Selezionare la casella di controllo Use enhanced session mode

How to enable the Enhanced session mode for Hyper-V file transfer

In alternativa, abilitare la modalità di sessione avanzata in PowerShell:

Set-VMHost -EnableEnhancedSessionMode $True

Una volta abilitata la modalità di sessione avanzata e configurato tutto il necessario nella macchina virtuale ospite e nel server Hyper-V, è possibile avviare la macchina virtuale e connettersi ad essa tramite VMConnect.

Se la modalità di sessione avanzata è abilitata, dovrebbe apparire la finestra per la selezione della risoluzione dello schermo. In questa finestra, fare clic su Show Options .

Select Show Options to see additional options

Selezionare la scheda Local Resources . Fare clic su More nella sezione Dispositivi e risorse locali .

Click More to attach local disks to a VM connection session

Selezionare i dischi disponibili sull’host Hyper-V che si desidera collegare a una macchina virtuale.

Hyper-V copy files to VM – selecting a disk when using the enhanced session mode for VMConnect

Metodo 7: Trasferimento di file Hyper-V tramite immagini ISO

Un altro metodo per copiare file su una macchina virtuale Hyper-V è simile all’utilizzo di un disco virtuale VHDX. Tuttavia, questo metodo è unidirezionale (copia dei file da Hyper-V alla VM) e l’accesso ai file dalla VM è in sola lettura.

Se si dispone di un’applicazione in grado di modificare e scrivere file ISO (immagini di CD/DVD), è possibile masterizzare i file necessari presenti sull’host Hyper-V nell’immagine ISO e inserire tale immagine ISO come supporto DVD virtuale nella VM.

Se è necessario copiare un’immagine ISO avviabile sulla VM (ad esempio, durante il test di virtualizzazione annidata), è consigliabile creare un nuovo file immagine ISO vuoto e non avviabile e aggiungere a tale immagine un file immagine ISO avviabile. Successivamente è possibile copiare l’immagine ISO avviabile dal file ISO esterno inserito nell’unità DVD virtuale della VM.

Conclusione

Qualunque sia il metodo utilizzato per copiare i file su Hyper-V Server, se ne sconsiglia l’uso a fini di backup. Questi metodi non sono efficienti e affidabili quanto le soluzioni professionali di backup di Hyper-V. Le attuali soluzioni di backup di macchine virtuali Hyper-V, come NAKIVO Backup & Replication, creano backup a livello di host che sono di dimensioni ridotte, veloci e da cui è facile ripristinare i dati.

Prova NAKIVO Backup & Replication

Prova NAKIVO Backup & Replication

Richiedi una prova gratuita per scoprire tutte le funzionalità di protezione dei dati offerte dalla soluzione. 15 giorni gratuiti. Nessuna limitazione in termini di funzionalità o capacità. Non è obbligatoria alcuna carta di credito.

Le persone leggono anche