Come arrestare una macchina virtuale Hyper-V bloccata.
È bloccato nel Fermarsi O Corsa stato e non dà alcuno spegnimento, Fermare, Salva, Opzioni di pausa o reimpostazione.
Un modo per eliminare la macchina virtuale bloccata è aprirla Responsabile delle attività e terminare l'attività responsabile di quella macchina. Purtroppo, non è così semplice perché il Processo di lavoro della macchina virtuale che è responsabile dell'esecuzione della macchina virtuale appare numerose volte, una volta per ogni macchina guest in esecuzione!
Metodo 1
Se hai un numero limitato di VM:
- Aprire Responsabile delle attività e visualizzare il Dettagli scheda;
- Ne vedrai molti vmwp.exe eseguire processi con il nome utente colonna compresa la macchinaGUID;
- Passare alla posizione in cui sono archiviate le macchine virtuali e aprire la cartella della macchina virtuale attualmente bloccata. Da qui possiamo trovare il file di configurazione della macchina e prendere nota del fileGUIDA per quella macchina;
- Ora sappiamo quale GUIDA si riferisce alla macchina virtuale che stiamo cercando di arrestare. Torna a Responsabile delle attività, fare clic con il pulsante destro del mouse sul processo corretto, E Fine del processo.
NOTA: Questo processo dovrebbe essere utilizzato solo come ultima risorsa in quanto potrebbe causare il danneggiamento della macchina virtuale!
Metodo 2
Se hai un sacco di VM in esecuzione. Il modo più veloce è trovare il GUID della VM necessario con il comando PowerShell.
Get-VM <vmname> | fl *
Ora sappiamo quale GUIDA si riferisce alla macchina virtuale che stiamo cercando di arrestare. Torna a Responsabile delle attività, fare clic con il pulsante destro del mouse sul processo corretto, E Fine del processo.
Questo comando estrae un elenco di nomi di macchine virtuali e GUID, quindi lo confronta con un elenco di GUID nella riga di comando dei processi in esecuzione e restituisce i nomi di macchine virtuali con l'ID processo associato (non GUID della macchina virtuale).
Get-WmiObject Win32_Process -Filter "Name like '%vmwp%'" | %{$vm=get-vm -id $_.CommandLine.split(" ")[1];"$($_.processID)`t$($vm.name)"}
Metodo 3
Utilizzo Esplora processi Sysinternals.