Using Virt-Manager on Debian

Virt-Manager is an awesome front end for running QEMU VMs on top of KVM. This is a great alternative to VirutalBox and since the latest version of Virtualbox has been moved to the “contrib” section in Debian (due to a non-free compiler that is required to builds the BIOS) it is one of the only 100% free software GUIs for managing virtual machines. To get virt-manager working debian you will need the following:

apt-get install qemu-kvm libvirt-bin virt-manager

Even though the [Debian Doc] states that adding your user to the kvm and libvirt groups will allow you to create Virtual Machines, when you try to do so you may be confrtonted with an error message that reads:

Could not access KVM kernel module: Permission denied failed to initialize KVM: Permission denied

This makes this application fairly useless so lets get this fixed. The problem is that libvirtd starts qemu with whichever user:group is defined in /etc/libvirtr/qemu.conf 1 by default this is nobody so this is why the error message occurs. In order to fix this, edit this file and add your username and group to this file. The file should end up looking something like this:

# The user for QEMU processes run by the system instance. It can be 
215 # specified as a user name or as a user id. The qemu driver will try to 
216 # parse this value first as a name and then, if the name doesn't exist, 
217 # as a user id. 
218 # 
219 # Since a sequence of digits is a valid user name, a leading plus sign 220 # can be used to ensure that a user id will not be interpreted as a user 
221 # name. 
222 # 
223 # Some examples of valid values are: 
224 # 
225 #       user = "qemu"   # A user named "qemu" 
226 #       user = "+0"     # Super user (uid=0) 
227 #       user = "100"    # A user named "100" or a user with uid=100 228 # 
229 #user = "root" 
230 user = "username" 
231 # The group for QEMU processes run by the system instance. It can be 232 # specified in a similar way to user. 
233 #group = "root" 
234 group = "groupname"

After this, restart the libvirtd service and you will be able to create virtual machines with virt-manager.

systemctl restart libvirtd.service


Leave a Reply