Hyper-vでVMがゾンビになったら


windowsのHyper-vでVmがゾンビになってしまった時の対処法(の一つ)を備忘録として書いておく。

現象(一例)

VMをつかったなんやらで立ち上げたり削除したりしようとしてこんなエラーが出る。

Exiting due to GUEST_FILE_IN_USE: 
remove C:\Users\hogehoge\.minikube\machines\minikube\minikube\Virtual Machines\7564XXXXXXXXXXX.vmcx: 
The process cannot access the file because it is being used by another process.

Hyper-vマネージャを確認するが、それらしきインスタンスはない。

再起動したら直るか。。?(古典)

=> 治らない(なぜ? わかる方いたら教えてください)

解決策(の一つ)

VMまわりをつかさどっている vmms.exe を再起動する。

(PowerShellは管理者であげましょう)

Get-Service vmms | Restart-Service

ただ、単に再起動しても同じゾンビプロセスが上がってしまう謎現象が発生したので、

Get-Service vmms
Running  vmms               Hyper-V Virtual Machine Management   

Stop-Service vmms
Stopped  vmms               Hyper-V Virtual Machine Management

(ここで問題のVMをどうにかする。ファイルを消すとかなんとか)

Start-Service vmms

=> 解決。

参考: http://woshub.com/how-to-stop-a-hung-virtual-machine-on-hyper-v-2016/