Come disabilitare una VM Hyper-V bloccata nello stato di avvio/arresto
Hyper-V è una nota piattaforma di virtualizzazione hardware, molto diffusa in quanto hypervisor nativo di Windows. La virtualizzazione offre numerosi vantaggi e l’esecuzione di VM è molto comoda. Tuttavia, possono verificarsi degli errori. Può capitare di ricevere l’errore “Hyper-V non è riuscito a modificare lo stato” e che la VM rimanga bloccata quando si tenta di accenderla o spegnerla. In questo caso, i pulsanti di avvio, arresto e ripristino della VM non funzionano.
Non è possibile modificare le impostazioni della VM né utilizzarla finché non si risolve questo problema. Se state già cercando come disabilitare Hyper-V o Come disinstallare Hyper-V, non affrettatevi. Questo articolo del blog spiega i possibili motivi dell’errore “Hyper-V non è riuscito a cambiare stato” e i metodi per risolvere il problema.
Spiegazione dell’errore
I pulsanti di avvio, arresto e ripristino solitamente non sono disponibili nell’interfaccia grafica utente. Se si tenta di fare clic su questi pulsanti, viene visualizzato il messaggio di errore. Di seguito è riportato il testo completo del messaggio di errore relativo al blocco della VM Hyper-V visualizzato quando si tenta di avviare o arrestare una VM in Hyper-V:
L’applicazione ha riscontrato un errore durante il tentativo di modificare lo stato della VM.
Nome della VM Impossibile modificare lo stato.
L’operazione non può essere eseguita mentre l’oggetto si trova nel suo stato attuale.
Il “Hyper-V non è riuscito a modificare lo stato” messaggio può contenere anche questa frase:
Non è possibile modificare lo stato.
Le cause più comuni dell’errore di avvio/arresto della VM sono un guasto dello storage, una configurazione di rete errata, la configurazione di Routing e Accesso Remoto, le opzioni di alimentazione della VM e autorizzazioni insufficienti per accedere ai file della VM.
Terminare il processo della VM problematica
Quando si verifica un errore di avvio/arresto della VM, non è possibile terminare la VM in modo tradizionale chiudendo il processo Virtual Machine Worker ( vmwp.exe ), che è uno dei servizi/processi importanti di Hyper-V. È necessario conoscere l’identificatore univoco globale (GUID) della VM problematica, poiché in Windows sono in esecuzione più istanze del processo vmwp.exe e ciascuna istanza è associata alla VM corrispondente. Se si tenta di indovinare quale sia il vmwp.exe necessario e si terminano tutte le istanze di vmwp.exe, si rischia di terminare ogni volta una VM sconosciuta e si potrebbe finire per terminare quasi tutte le VM prima di individuare quella giusta.
Metodo 1: Utilizzo di strumenti GUI nativi
È possibile utilizzare l’interfaccia grafica utente (GUI) di Windows e Hyper-V per identificare il processo vmwp.exe richiesto e terminarlo. Gestione Hyper-V è uno strumento con interfaccia grafica per la gestione delle VM nell’ambiente Windows Hyper-V.
Ottenere il GUID della VM in Hyper-V Manager. 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.
Nella finestra Impostazioni Hyper-V , fare clic su VM nel riquadro di sinistra per individuare il percorso in cui si trovano per impostazione predefinita i file della VM sull’host Hyper-V. Nel nostro esempio, il percorso è E:VMs.
Una volta individuata l’ubicazione in cui sono archiviati i file della macchina virtuale, accedere a questa cartella in Esplora risorse. Individuare la sottocartella in cui si trovano i file della macchina virtuale congelata. Nel mio caso, il nome della VM è “Ubuntu Hyper-V”. Apri la cartella della VM: dovresti vedere una sottocartella e dei file con un nome lungo composto da cifre e lettere. Questo è il GUID della VM necessario per identificare il processo vmwp.exe e forzare l’arresto della VM. Nel mio esempio, il GUID della VM è 3C555937-A999-4542-B77E-FD69488B8579 .
Se non riesci a individuare il GUID della VM nell’interfaccia grafica di Windows e Hyper-V, puoi utilizzare Process Explorer o PowerShell (vedi le sezioni seguenti).
Una volta individuato l’ID, puoi terminare il vmwp exe processo relativo alla VM Hyper-V problematica.
Apri Gestione attività di Windows nel sistema operativo host. Fare clic su Start > Run oppure premere Win+R, digitare taskmgr e premere Enter.
Individuare il processo vmwp.exe con il GUID richiesto nella colonna Nome utente . Fare clic con il pulsante destro del mouse sul processo appropriato vmwp exe e nel menu contestuale selezionare End task per spegnere la VM e ottenere lo stato di alimentazione corretto della VM.
Nota: È possibile fare clic con il pulsante destro del mouse sull’intestazione della colonna, ad esempio Nome utente , e fare clic su Select Columns. Selezionare le caselle di controllo Command line e Description nella finestra Seleziona colonne di , quindi fare clic su OK. Successivamente, sarà possibile visualizzare il GUID della VM per ciascun processo vmwp exe nella colonna Riga di comando del Gestore attività.
Metodo 2: Utilizzo di Process Explorer
È possibile identificare l’istanza necessaria del processo vmwp exe correlata alla VM problematica utilizzando Process Explorer, uno strumento gratuito fornito da Microsoft. Scarica Process Explorer offre opzioni avanzate non presenti nel Task Manager standard disponibile sul sito web di Microsoft. Decomprimere i file di Process Explorer in una cartella a scelta.
Aprire Hyper-V Manager, accedere alle impostazioni della macchina virtuale che presenta problemi e selezionare le opzioni relative al disco rigido virtuale. Copiare il percorso completo del file del disco rigido virtuale. Nel nostro caso questo percorso è:
“E:VMsUbuntu Hyper-VVirtual Hard DisksUbuntu Hyper-V.vhdx”
Avviare Process Explorer eseguendo il file di esecuzione appropriato ( procexp64.exe nel nostro caso).
Fare clic sull’icona a forma di binocolo e incollare il percorso del file del disco virtuale della VM bloccata nel campo Handle o DLL substring , quindi fare clic su Search.
Viene individuata l’istanza di vmwp.exe richiesta. Fare clic su vmwp.exe individuata nella finestra di ricerca e l’istanza appropriata del processo vmwp exe viene selezionata automaticamente in Process Explorer.
Fare clic con il tasto destro del mouse sul processo selezionato vmwp.exe e nel menu contestuale fare clic su Kill Process. 
Metodo 3: Utilizzo di PowerShell per terminare il processo della VM
Apriamo PowerShell e risolviamo l’errore. Se provi a eseguire il comando Stop-VM -Force , noterai che questo comando non funziona per arrestare la VM dopo che questa si è bloccata. Utilizza questo comando per identificare l’ID univoco della VM:
Get-VM "VM-name" | fl *
Come alternativa più elegante, è possibile utilizzare questi comandi per verificare l’ID:
$VMGUID = (Get-VM "Ubuntu Hyper-V").ID
Get-VM | Select Name, Id
Nel nostro caso, dobbiamo conoscere il GUID della VM “Ubuntu Hyper-V” . Il GUID di questa VM è salvato come variabile $VMGUID nella memoria di questa sessione di PowerShell.
Eseguire questi comandi per terminare il processo e arrestare la VM:
$VMWMProc = (Get-WmiObject Win32_Process | ? {$_.Name -match 'VMWP' -and $_.CommandLine -match $VMGUID})
Stop-Process ($VMWMProc.ProcessId) -Force
Ora il processo della VM problematica è stato terminato e la VM è stata arrestata. È possibile provare a modificare le impostazioni della VM e avviarla.
Altri metodi per correggere l’errore “Hyper-V non è riuscito a modificare lo stato”
Può capitare di aver terminato il processo della VM bloccata in Hyper-V, ma che la VM non riesca ad avviarsi. In questo caso, se si tenta di avviare la VM, potrebbe comparire l’errore Hyper-V:
Connessione alla VM:
Impossibile modificare lo stato.
Di seguito fornisco altri possibili motivi dell’errore “Hyper-V non è riuscito a modificare lo stato” , i metodi che possono aiutare a risolvere l’errore e come disattivare completamente le VM Hyper-V dopo aver ricevuto questo errore.
Impostazioni dell’unità DVD
Apri le impostazioni della VM e controlla le opzioni DVD per la VM. Se la VM non riesce ad accedere all’immagine ISO, può verificarsi l’errore. Assicurarsi che il file ISO esista e che il percorso sia definito correttamente. È inoltre possibile disabilitare un’unità DVD virtuale se questa non viene utilizzata nella VM.
Errori di storage
Verificare se lo spazio su disco nell’archivio della VM è sufficiente. Se lo spazio su disco per l’archiviazione dei file della VM è insufficiente, l’errore di storage può causare il blocco della VM e la visualizzazione di un “Hyper-V non è riuscito a modificare lo stato” errore. Se l’errore della VM si è verificato a causa della mancanza di spazio di archiviazione, potrebbe essere necessario eseguire questi comandi per correggere gli errori del disco all’interno delle VM:
sfc /scannow
dism /online /cleanup-image /restorehealth
Se non è possibile avviare una VM normalmente o se la VM è bloccata in un ciclo continuo, inserire un’immagine ISO di installazione di Windows in un’unità DVD virtuale, avviare la VM da questa immagine ISO (aprire il BIOS/UEFI virtuale e selezionare il DVD-ROM come primo dispositivo di avvio), selezionare Modalità di riparazione , avviare CMD ed eseguire il comando: chkdsk /f /r /x c:
Una volta completato il controllo del disco e corretti gli errori, riavvia la VM, avvia il sistema da un disco rigido virtuale (la VM dovrebbe ora avviarsi) ed esegui i comandi indicati in precedenza all’interno del sistema operativo guest:
sfc /scannow
dism /online /cleanup-image /restorehealth
Potrebbe inoltre essere necessario controllare i dischi fisici utilizzati per l’archiviazione Hyper-V su un host Hyper-V.
Errori di configurazione di rete
Controllare le impostazioni degli adattatori di rete delle VM. Se per almeno uno degli adattatori di rete viene visualizzato lo stato Adattatore di rete – Errore di configurazione , potrebbero verificarsi problemi di avvio/arresto delle VM in Hyper-V. Schede di rete VM deve essere collegato a un switch virtuali esistente per il normale funzionamento. Questo errore può essere visualizzato se la configurazione di rete è stata modificata o è risultata danneggiata.
Individuazione dei problemi nei registri
Controllare i registri eventi di Windows e gli errori relativi a Hyper-V. Eseguire compmgmt.msc, quindi andare su Event Viewer > Applications and Services Logs > Microsoft > Windows > Hyper-V-Worker. Se nei registri sono presenti messaggi di errore, la descrizione dell’errore può indicare l’origine del problema.
Blocco dell’accesso da parte del software antivirus
Controllare le impostazioni del software antivirus. L’antivirus non deve bloccare l’accesso ai file della macchina virtuale Hyper-V. Se l’antivirus blocca l’accesso ai file della macchina virtuale, aggiungere le cartelle in cui sono archiviati tali file alle esclusioni nelle impostazioni dell’antivirus. Hyper-V deve avere accesso completo alle cartelle e ai file della macchina virtuale.
Opzioni di alimentazione della macchina virtuale
Controlla le opzioni di alimentazione nelle impostazioni del sistema operativo ospite. La modalità di sospensione e l’ibernazione devono essere disabilitate. Nel sistema operativo ospite Windows, apri Control Panel, quindi vai su Power Optionse assicurati che l’opzione “Put the computer to sleep” sia impostata su Never. Se come sistema operativo ospite è installato Ubuntu Linux, utilizza il comando per disabilitare la modalità di sospensione:
sudo systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.target
Verifica di VMMS
vmms.exe è un processo utilizzato da Hyper-V. Assicurarsi che il servizio di gestione virtuale Hyper-V (VMMS), che è uno dei servizi Hyper-V più importanti, sia in esecuzione correttamente e che il VMMS non si blocchi né si trovi in stato di avvio o arresto. Lo stato del servizio deve essere In esecuzione .
Il servizio VMMS è correlato al processo vmms.exe .
Disattiva RRAS
Una configurazione errata del servizio Routing e accesso remoto (RRAS) può essere il motivo del blocco di una VM Hyper-V a causa di una configurazione di rete errata. Prova a disabilitare RRAS in Windows Server che funge da host Hyper-V.
Premi Win+R per aprire la finestra di dialogo Run .
Digita services.msc e premi Enter.
Individua il servizio Routing and Remote Access Service nella finestra Servizi , fai clic con il tasto destro del mouse sul servizio e, nel menu contestuale, seleziona Properties. Nella scheda General della finestra Proprietà di Routing e accesso remoto , fare clic su Stop e modificare il tipo di avvio in Disabled.
Riavvio della macchina host Hyper-V
Se nessuno dei metodi sopra indicati risolve il problema, provare a riavviare la macchina host Hyper-V. Se si dispone di altri host Hyper-V o di un cluster Hyper-V ad alta disponibilità, è possibile migrare le VM in esecuzione su altri host e quindi spegnere l’host Hyper-V con la VM problematica.
Risoluzione del blocco di una VM Hyper-V nello stato salvato
Il blocco di una VM Hyper-V può verificarsi non solo nello stato di avvio/arresto della VM, ma anche nello stato salvato. I sintomi sono simili e non è possibile modificare lo stato della VM problematica. I pulsanti di avvio/arresto della VM non funzionano. Se si chiude Hyper-V mentre è in corso il backup di una VM, questa potrebbe bloccarsi nello stato salvato. Ciò può verificarsi se il processo di backup viene interrotto e la VM viene messa nello stato salvato. In questo caso, la VM può risultare corrotta o danneggiata. Esaminiamo i motivi più comuni di questo errore e i metodi per risolverlo.
Errori del disco
Se un disco contenente i file della VM viene scollegato mentre la VM è in esecuzione, può verificarsi un errore che porta la VM nello stato salvato. Questo errore è più probabile per gli utenti privati di Hyper-V che memorizzano i file della VM su dischi USB. Tuttavia, gli amministratori delle organizzazioni devono essere consapevoli che questo errore può essere causato da problemi di storage. In caso di spazio su disco insufficiente, una VM si blocca e può essere anch’essa messa in stato salvato. Se avete configurato una VM per utilizzare hardware virtuale non supportato dal sistema operativo guest, la VM può rimanere bloccata nello stato salvato. Questo problema può verificarsi se si crea una nuova macchina virtuale e si importa un disco virtuale esistente con il sistema operativo ospite già installato. Modificare le opzioni della macchina virtuale, selezionando il controller di storage corretto e le altre opzioni del disco. Per ulteriori informazioni, consultare la guida sulle differenze tra VM di prima generazione e VM di seconda generazione
Risorse hardware insufficienti
Se si eseguono più macchine virtuali che richiedono molte risorse su un host Hyper-V, in caso di memoria e prestazioni della CPU insufficienti, una macchina virtuale può bloccarsi ed essere messa in stato salvato. A quel punto dovrai intervenire per risolvere il problema della VM che si è bloccata. Per evitare questo problema, upgrade l’hardware o evita di eseguire più VM gravose su un host con prestazioni ridotte. Se possibile, migra la VM su un altro host Hyper-V.
Permessi delle cartelle non corretti
Se i permessi per le cartelle e i file della VM non sono sufficienti, la VM può rimanere bloccata nello stato Salvato . Apri le proprietà della cartella in cui sono archiviati i file della VM. Controlla le schede Security e Sharing (se la VM si trova in una cartella condivisa sull’archivio condiviso). Imposta i permessi su Allow all per l’utente o il gruppo necessario.
Eliminazione della VM
Questo è un altro metodo per risolvere il problema della VM bloccata in stato di avvio/arresto/salvataggio, qualora gli altri metodi non avessero funzionato. Per evitare la perdita di dati, è consigliabile copiare i file dei dischi virtuali in una posizione sicura. Successivamente, eliminare la macchina virtuale problematica, compresi i file di configurazione, dalla posizione originale (fare clic con il pulsante destro del mouse sulla macchina virtuale e selezionare Delete in Gestione Hyper-V). Creare una nuova macchina virtuale, copiare i dischi virtuali dal backup nella nuova ubicazione della VM e selezionare un disco virtuale esistente durante la creazione della nuova macchina virtuale in Hyper-V.
Una VM è bloccata nello stato “Backup in corso”
Un altro problema simile è quello della VM Hyper-V bloccata nello stato In esecuzione con lo stato Backup in corso . In questo stato non è possibile avviare o arrestare le VM in Hyper-V Manager. Il riavvio dell’host Hyper-V di solito aiuta a risolvere questo problema, ma il riavvio non è auspicabile perché le altre VM in esecuzione sull’host devono essere arrestate o migrate.
La possibile causa di questo errore è un problema con il servizio Microsoft Hyper-V VSS Writer sull’host Hyper-V.
Aprire la riga di comando (CMD) come amministratore ed eseguire questo comando per verificare lo stato dei writer VSS:
vssadmin list writers
Se non ci sono errori, l’output per ciascun writer VSS è simile a quello visualizzato nella schermata qui sotto.
Il servizio Microsoft Hyper-V VSS Writer dipende dal servizio padre Gestione macchine virtuali Hyper-V. Per questo motivo, è necessario riavviare il servizio “Gestione macchine virtuali Hyper-V” per riavviare il servizio VSS necessario e risolvere il problema.
Il modo più veloce per riavviare il servizio “Gestione macchine virtuali Hyper-V” è aprire Services in Computer Management oppure eseguire services.msc, fare clic con il tasto destro del mouse sul nome del servizio e selezionare Restart.
Se il writer VSS di Hyper-V è bloccato e non risponde, è necessario terminare manualmente il processo vmms.exe in Gestione attività. Apri Gestione attività, fai clic con il pulsante destro del mouse su vmms.exe e seleziona End Process Tree dal menu contestuale.
Dopo aver terminato il processo vmms.exe , le VM dovrebbero scomparire in Gestione Hyper-V. Avvia il servizio Gestione macchine virtuali Hyper-V: dovresti vedere nuovamente l’elenco delle tue VM e lo stato di backup della VM problematica dovrebbe essere scomparso. Il riavvio di questi servizi Hyper-V dovrebbe risolvere il problema.
Conclusione
L’errore “Hyper-V non è riuscito a modificare lo stato” è un problema fastidioso per utenti e amministratori durante l’utilizzo delle VM. Fortunatamente, è altamente probabile riuscire a risolvere l’errore relativo al blocco della VM Hyper-V quando non è possibile arrestare le VM che presentano problemi. Questo articolo del blog ha esaminato i motivi più comuni e i possibili metodi per risolvere gli errori “Hyper-V non è riuscito a modificare lo stato” e “Impossibile ripristinare lo stato della VM”.
È importante tenere presente che, a volte, i dati delle VM possono risultare danneggiati a seguito di questo errore, di altri errori o di guasti hardware. Per questo motivo, si raccomanda di eseguire regolarmente il backup delle VM Hyper-V per evitare la perdita di dati. Utilizzate NAKIVO Backup & Replication per eseguire il backup delle vostre VM Hyper-V con prestazioni ottimali e funzioni di risparmio di spazio.
















