How can I start a Windows virtual machine in kvm on boot in fullscreen mode, in a way that the fact that Windows is running virtualized is completely hidden from the windows user ?

Basically after booting the kvm host, Windows should come up and the underlying kvm host should be completely hidden.

1 Answer 1


So I don't think that you can do that without a few tricks.

Namely, you don't want your user to see the VM through the virt-manager, which requires admin rights, but rather through a vnc client.


1) Make sure to install the vm with vnc enabled, which is the case by default but that you can ensure by giving the --graphics vnc command to virt-install

2) Write a script that will be loaded at boot time (e.g on a debian)

  • Write it in /etc/init.d/script.sh
  • chmod +x /etc/init.d/script.sh
  • update-rc.d script.sh defaults 100

3) The content of the script should boot the vm and call a vnc client to log in:

  • virsh start [your machine name]
  • vinagre -f -n

If you're using vinagre as the client here. Here the trick is to add the n switch to hide the vnc client top windows, but you might want to disable shortcut such as alt + F4 to make sure that the user cannot kill the process and fall back to the linux desktop.

Indeed this is a dirty solution, and not a perfect one. You might want to try several vnc client and see what you can do to "hide" the fact that it's a vnc client.

  • Thanks for the input. Since it looks like there is no "official" way of doing what I need, I think there is an easier solution: Start no display manager at all on system boot, but only a script which starts a blank X11 and then the virtual machine with virsh or directly the kvm command line.
    – yglodt
    Aug 9, 2015 at 18:45

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.