Come copiare file su Hyper-V Server e VM: 7 metodi
Hyper-V è un hypervisor che funziona su Windows e può essere gestito direttamente sul computer su cui è installato o in remoto. Spesso è necessario copiare file su Hyper-V Server e da un server a VM. Non è possibile trascinare e rilasciare i file sulle VM Hyper-V, ma è necessario utilizzare 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 di installazione ISO del supporto del sistema operativo. Per trasferire il supporto su Hyper-V, è necessario copiare il file ISO sull’host e installare il sistema operativo guest sulla nuova VM.
Questo post del blog fornisce 6 metodi per copiare file su 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 a VM.
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 in questa condivisione file SMB. Il protocollo SMB è un protocollo di condivisione nativo di Windows, ma è supportato anche da Linux e altri sistemi operativi.
È inoltre possibile utilizzare questo metodo per copiare file sul server Hyper-V da qualsiasi macchina fisica o VM, purché sia stata stabilita una connessione di rete.
- Abilitare una regola del firewall per consentire le connessioni SMB in entrata per una macchina che esegue Hyper-V. Per abilitare la condivisione di file e stampanti 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.
- Se sul computer Windows è presente l’interfaccia utente grafica (GUI), connettersi a una condivisione file remota su un host Hyper-V digitando il percorso di condivisione nella barra degli indirizzi della finestra Esplora risorse di Windows. In questo esempio, utilizziamo una condivisione di sistema nascosta C$, 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 consiglia di utilizzare un’altra partizione dedicata per i file VM, le immagini ISO, le condivisioni file e altri dati non di sistema.
- Sfoglia alla directory in cui si desidera memorizzare le immagini ISO o alla loro ubicazione, dove si trovano gli altri file che è necessario 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.
- Copiare il file ISO necessario (o altri file) dal computer locale (C:datashared01 nel nostro caso) all’host Hyper-V utilizzando questo percorso di rete.
- Dopo aver copiato l’immagine ISO sul server, possiamo indirizzare l’unità DVD al file immagine e sfogliare la cartella che abbiamo creato nella root dell’unità unità (C:).
- Dopo aver terminato di copiare 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. È possibile disabilitare le regole del firewall relative alla condivisione file e stampanti consentite 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 una singola condivisione file
Quando nell’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 Hyper-V. Inoltre, utilizzare lo 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 file server o NAS e memorizzare lì tutte le immagini ISO necessarie. Configurare una condivisione file una sola volta, configurare l’accesso per gli host Hyper-V e utilizzare le immagini ISO necessarie memorizzate in un unico posto per tutti gli host.
Questo metodo è comodo se tutte le macchine utilizzate sono membri 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 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 GUI, è possibile connettersi a questo host tramite RDP (Remote Desktop Protocol) e collegare i dischi locali del computer locale per copiare i file necessari. A tal fine, è necessario abilitare le connessioni desktop remoto sul server di destinazione.
È possibile utilizzare questo metodo per copiare i file sul server Hyper-V da un altro computer fisico o VM che esegue Windows.
- Per abilitare le connessioni desktop remoto, andare su Avviare > Impostazioni > Sistema > Desktop remoto e abilitare Desktop remoto.
- Eseguire il client Desktop remoto di Windows, la sua ubicazione è %windir%system32mstsc.exe
Digitare mstsc nella riga di comando o Run nella finestra di dialogo e premere Immettere.
- Immettere l’indirizzo IP o il nome host del computer remoto (nel nostro esempio, si tratta dell’host Hyper-V con indirizzo IP 10.10.10.31) e il nome utente. È possibile inserire il nome utente nel formato completo (domainuser o computeruser).
- Vai alla scheda Risorse locali e clicca su Altro.
- Selezionare le risorse locali che si desidera mappare da computer all’host remoto (nel nostro esempio, l’host remoto è un host Hyper-V). Espandere Drives e selezionare l’unità disco necessaria. I file necessari si trovano sul disco E: sul nostro computer e, per questo motivo, selezioniamo il disco E: da mappare per la nostra connessione RDP.
- Fare clic su OK per salvare le impostazioni, quindi fare clic su Connetti a.
Una volta stabilita una sessione di desktop remoto, aprire Risorse del computer o Questo PC in Esplora risorse del computer remoto. Dovresti vedere l’unità disco mappata dal tuo computer locale che è mappata sul computer remoto (E su SERVER01-DC nella schermata qui sotto). Sfoglia i file necessari su questa unità mappata e copiali sul tuo host Hyper-V.
Questo metodo funziona anche per le VM se sono connesse alla rete.
Metodo 4: trasferimento di file Hyper-V con un cmdlet 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 avere una connessione di rete tra l’host e il guest della VM e senza la necessità di configurare il firewall.
Vediamo quindi come copiare file su una VM Hyper-V in PowerShell senza utilizzare la rete.
- Abilitare Guest services sulla VM. 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 Impostazioni VM, seleziona Servizi di integrazione nel riquadro sinistro della finestra delle impostazioni VM e seleziona la casella di controllo Servizi guest casella di controllo.

Abilita Servizi guest per la VM in PowerShell:
Enable-VMIntegrationService -VMName VM1 -Name 'Guest Service Interface'
- È possibile verificare se la funzione Guest services è 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 è False, è possibile abilitare l’interfaccia dei servizi guest necessaria:
Enable-VMIntegrationService -name Guest* -VMName win10preview -Passthru
- Utilizzare il comando riportato di seguito per il trasferimento di file Hyper-V dall’host Hyper-V al guest VM impostando il percorso di origine sull’host Hyper-V e il percorso di destinazione sulla VM:
Copy-VMFile "VMName" -SourcePath "F:Test.txt" -DestinationPath "C:TempTest.txt" -CreateFullPath -FileSource Host
Dove:
- VMname è il nome della VM su cui si sta copiando il file (il nome della VM è visibile in Hyper-V Manager; non si tratta del nome host della VM visualizzato nel sistema operativo guest).
- SourcePath è il percorso del file di origine sull’host Hyper-V (il file che devi copiare).
- DestinationPath è il percorso del file di destinazione sulla VM (dove copiare il file necessario).
- Il comando -CreateFullPath viene utilizzato per creare un percorso completo con tutte le cartelle necessarie, se non esistono.
Nel nostro esempio, il comando PowerShell esatto per il trasferimento di file Hyper V da un host a un guest VM è:
Copy-VMFile "VM2" -SourcePath "C:tempfile01.txt" -DestinationPath "C:Temp1file01.txt" -CreateFullPath -FileSource Host
Nota: il Copy-VMFile cmdlet funziona solo nella direzione da un host Hyper-V a una VM.
Metodo 5: montaggio di VHDX su un host e un guest
L’idea alla base di questo metodo è quella di creare un disco virtuale VHDX che possa essere montato sia su un host Hyper-V e su una VM. È possibile copiare i file necessari su questo disco virtuale, montare il disco sulla macchina desiderata e copiare i file da/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 Hyper-V Manager durante la configurazione delle VM.
- Aprire la finestra Gestione computer . È possibile farlo premendo Win+R per aprire la finestra di dialogo Esegui ed eseguire il comando
compmgmt.msc. - Vai a Storage > Gestione disco nella finestra Gestione computer .
- Fare clic con il pulsante destro del mouse su Gestione disco e nel menu contestuale fare clic su Crea VHD.
- Si apre una nuova finestra per creare un disco virtuale.
- Specificare l’ubicazione 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 da 8 GB a scopo dimostrativo.
- Selezionare un formato di disco rigido virtuale. Selezioniamo VHDX come formato più recente. Per scoprire di più sulle differenze, consultare VHD vs VHDX .
- Seleziona un tipo di disco rigido virtuale. Selezioniamo Espansione dinamica per risparmiare spazio di storage fino a quando il disco non è pieno di dati.
- Premi OK per salvare le impostazioni e chiudere la finestra.
In alternativa, ecco un esempio del 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
È stato creato un disco rigido virtuale sul nostro host Hyper-V.
- Fare clic con il pulsante destro del mouse su questo disco rigido virtuale VHDX in Gestione disco e fare clic su Inizializza disco.
In alternativa, se si preferisce utilizzare PowerShell, elencare tutti i dischi montati per identificare il numero del disco virtuale necessario prima dell’inizializzazione:
Get-Disk
- Il disco viene selezionato in modo automatico. Selezionare lo stile di partizione. Per una migliore compatibilità, utilizziamo MBR (Master Boot Record). Fare clic su OK.
In alternativa, il comando per chi utilizza PowerShell include il numero di un disco virtuale e lo stile della partizione:
Initialize-Disk 1 -PartitionStyle MBR
- Creare un nuovo volume (partizione) sul disco virtuale che è stato inizializzato sull’host Hyper-V. Questa partizione sarà visibile anche in una macchina virtuale Windows (o Linux che può funzionare con i file system NTFS).
Fare clic con il pulsante destro del mouse sul volume da 8 GB e fare clic su Nuovo volume semplice nel menu contestuale.

- Si apre la procedura guidata Nuovo volume semplice . Fare clic su Avanti.
- Specificare la dimensione del volume. Utilizza l’intera dimensione del disco per questo volume.
- Assegna una lettera di unità, ad esempio H:
- Formattare la partizione. Selezionare il file system NTFS, lasciare la dimensione dell’unità di allocazione predefinita e immettere un’etichetta di volume (ad esempio, Copiare i file). Selezionare la casella di controllo Eseguire una formattazione rapida .
In alternativa, è possibile utilizzare questi comandi PowerShell per creare e formattare un volume:
New-Partition -DiskNumber 1 -UseMaximumsize -AssignDriveLetter
Format-Volume -DriveLetter H -FileSystem NTFS -Full -Force
- Una volta completata la procedura guidata, il disco virtuale montato dovrebbe essere visibile in Esplora risorse del computer host Hyper-V.
- Copiare i file necessari nella partizione con l’ubicazione sul disco virtuale. Copiamo file01.txt, come mostrato nella schermata sottostante.
- Dopo aver copiato tutti i file necessari sul disco virtuale, è necessario smontare il disco virtuale dall’host Hyper-V.
Fare clic con il pulsante destro del mouse sulla partizione appropriata montata dal disco virtuale VHDX e fare clic su Espellere nel menu contestuale.
In alternativa, il comando per smontare un disco virtuale da una macchina host in PowerShell:
dismount-VHD -path C:Hyper-Vdata-temp.vhdx
- È possibile montare questo disco virtuale creato per il trasferimento di file Hyper V da un host Hyper-V a un guest e viceversa. Montiamo un disco virtuale con file scritti sulla VM.
- Selezionare la VM necessaria e aprire Impostazioni VM in Hyper-V Manager.
- Selezionare il controller del disco virtuale necessario nel riquadro sinistro della finestra delle impostazioni della VM.
- Selezionare Hard Drive e clicca su Aggiungi.
- Selezionare Disco rigido virtuale e fare clic su Sfoglia per aggiungere il disco rigido virtuale esistente alla VM.
- Specificare il percorso VHDX. Nel nostro caso, il percorso è C:Hyper-Vdata-temp.vhdx
- Premere OK per salvare le impostazioni.
In alternativa, questo è il comando PowerShell per aggiungere un disco rigido virtuale esistente a una configurazione VM Hyper-V:
Add-VMHardDiskDrive -VMName VM2 -Path C:Hyper-Vdata-temp.vhdx
- Avviare la VM con il disco virtuale allegato sull’host Hyper-V.
- Accedere a un sistema operativo guest e verificare se il volume situato sul disco virtuale è stato montato automaticamente. In caso contrario, andare su Gestione computer > Gestione disco e assegnare una lettera di unità al volume con i file che è necessario trasferire dall’host Hyper-V alla VM.
- Copiare i file necessari da un disco virtuale allegato alla VM.
Metodo 6: VMConnect con modalità di sessione avanzata
VMConnect, o Virtual Machine Connection, è uno strumento Hyper-V integrato per la gestione delle VM. Una schermata che funge da monitor per la VM, in cui è possibile vedere come si naviga con tastiera e mouse, fa parte dello strumento VMConnect. L’utilizzo di VMConnect con la modalità sessione avanzata è più comodo e offre più funzioni.
La modalità sessione avanzata consente di personalizzare la risoluzione dello schermo quando ci si connette a una VM e di collegare le risorse locali di un host su cui si esegue Hyper-V Manager per gestire le VM. Le risorse locali vengono collegate in modo simile a quando si utilizza una connessione Desktop remoto per accedere a un host remoto o a una VM.
Per abilitare Modalità sessione avanzata:
- Fare clic con il pulsante destro del mouse sul nome dell’host Hyper-V in Hyper-V Manager e nel menu contestuale fare clic su Impostazioni Hyper-V.
- Fare clic su Modalità sessione avanzata nel pannello sinistro
- Selezionare la casella di controllo Utilizza modalità sessione avanzata
In alternativa, abilitare la modalità sessione avanzata in PowerShell:
Set-VMHost -EnableEnhancedSessionMode $True
Una volta abilitata la modalità sessione avanzata e configurato tutto il necessario nella VM guest e nel server Hyper-V, è possibile avviare la VM e connettersi ad essa con VMConnect.
Se la modalità sessione avanzata Enhanced session mode è abilitata, dovrebbe essere visualizzata la finestra per la selezione della risoluzione dello schermo. Fare clic su Show Options in questa finestra.
Selezionare la scheda Risorse locali . Fare clic su Altro nella sezione Dispositivi e risorse locali .
Selezionare i dischi disponibili sull’host Hyper-V che si desidera connettere a una VM.
Metodo 7: trasferimento di file Hyper-V tramite immagini ISO
Un altro metodo per copiare file su una VM Hyper-V è simile all’utilizzo di un disco virtuale VHDX. Tuttavia, questo metodo è unidirezionale (copia file Hyper-V su VM) e l’accesso ai file dalla VM è di sola lettura.
Se si dispone di un’applicazione in grado di modificare e scrivere file ISO che sono file immagine CD/DVD, è possibile scrivere i file necessari sull’host Hyper-V nell’immagine ISO e inserire questa immagine ISO come supporto DVD virtuale nella VM.
Se è necessario copiare un’immagine ISO avviabile sulla VM (ad esempio, durante il test virtualizzazione nidificata), è necessario creare un nuovo file immagine ISO vuoto non avviabile e aggiungere un file immagine ISO avviabile a questa immagine. È quindi possibile copiare l’immagine ISO avviabile da un file ISO esterno inserito nell’unità DVD virtuale della VM.
Conclusione
Qualunque sia il metodo utilizzato per copiare i file su Hyper-V Server, non è consigliabile utilizzarlo per scopi di backup. Questi metodi non sono efficienti e affidabili come le soluzioni di backup di Hyper-V professionali. Le attuali soluzioni di backup per macchine virtuali Hyper-V, come NAKIVO Backup & Replication & , creano backup a livello di host che sono piccoli, veloci e da cui è facile recuperare i dati.





















