I have a win11 vm which fails to reboot and hangs in the zabby “Start boot option” screen. Normal shutdown / startup works as expected.
Do others have the same problem? In
EDIT: Initially I suspected a failed install of uefi keys was the cause but even when I managed to run successfully the updates to install the keys via powershell the windows vm still hangs on reboot.
So if you shutdown the VM from Windows and then start it back from Incus it boots fine?
The log message you’re showing would indicate that the Windows bootloader was run. Windows won’t be logging anything on the text console after that, so you really need to look at the VGA console instead (incus console --type=vga)
Make sure that image.os is set to something that starts with Windows. And make sure all the VirtIO drivers are installed in the VM.
If that’s the case, then you could try:
incus config device add VM agent disk source=agent:config
Which will add a cdrom drive to the VM for use with our Windows agent. Doing that, even if you don’t use it, will prevent the fast reboot logic that Incus has and will force every reboot to go through stop+start.
(re)install latest version of VirtIO win drivers (maybe the installed were no longer compatible?)
incus config set VM image.os=Windows
incus config device add VM agent disk source=agent:config
additionally I used the powershell script in the agent disk to install the Incus-Agent in windows but starting this service fails with:
Failed to start HTTP server: Failed to get listener: WINDOWS: Failed to listen on vsock: listen vsock vm(4294967295):8443: An address incompatible with the requested protocol was used.
so I guess this is not intended to be used this way? My hope was to get the vm’s ip in the incus list
EDIT: see next post for fixing agent issue:
right click on "D:\viosock\w11\amd64\viosock.inf" → Install
and the agent starts and reports the correct ip in incus list:
last note: since the latest version seems to be crucial and not maintained by windows updates, it should be best practice to define a background job doing the update via winget like