Virsh console for Windows 10 VM (QEMU-KVM)
virsh console
is a TTY console, which is the uart in the VM (a.k.a. "the COM port"). Does your Windows 10 output anything into this COM port?
Windows expects a VGA hardware to output into, so configure a VNC for the VM and connect with VNC Viewer for interacting with the VM. For this to be possible, you'd configure in the libvirt
xml domain config something like this:
<input type='tablet' bus='usb'/>
<input type='mouse' bus='ps2'/>
<graphics type='vnc' port='5901' autoport='no'/>
<video>
<model type='cirrus' vram='5120' heads='1'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
</video>
(it is possible you'd need to use another PCI slot address and TCP port for VNC to this machine).
Then restart (stop then start) a VM, and confirm qemu is listening on the chosen port:
vh1 ~ # netstat -lnpt | grep 590
tcp 0 0 127.0.0.1:5900 0.0.0.0:* LISTEN 1774/qemu-system-x8
tcp 0 0 127.0.0.1:5901 0.0.0.0:* LISTEN 13692/qemu-system-x
tcp 0 0 127.0.0.1:5902 0.0.0.0:* LISTEN 2526/qemu-system-x8
tcp 0 0 127.0.0.1:5903 0.0.0.0:* LISTEN 3755/qemu-system-x8
Notice, in my case it listens on localhost, for security.
To connect to this via SSH tunnel, use a TCP port forwarding. It is built into standard Linux VNC client package:
vncviewer -via virtualization.host.name localhost:1
(for connecting to the 5901's VNC you use VNC screen 1). It'll connect via SSH to the virtualization.host.name
and forward some local port to the localhost:5901
of the server, right as we need; then connects VNC client to this forwarded port. So your VNC will be secured with SSH.
Or, you can listen on any IP address (less secure). Or you can set up this TCP tunnel some other way. But this way I presented here is more convenient. Or, I forgot about that, use virt-viewer
to connect to the screen, didn't used it for ages.
Also, Windows Server supports (at least, supported some time ago) a special administration console (SAC) that runs on the COM port and can be used to do some operations (task kill, etc.). This console can be accessed with virsh console
. But I doubt Windows 10 has that.
virsh console
opens the VM's serial console, if it has one. If not, as in the case of Windows generally, then nothing happens.
You should be using virt-viewer
to view VMs with graphical consoles, or better yet, the well integrated virt-manager
.