-
Make sure your cpu support
kvmwith below command:grep -E "(vmx|svm)" --color=always /proc/cpuinfo -
Make sure BIOS have enable “Virtualization Technology”.
-
User access to
/dev/kvmso add your account into kvm(78) group:sudo gpasswd -a $(whoami) kvm -
Loading kernel modules
kvm_intelorkvm_amddepend on your CPU, Add module name in/etc/modules-load.d/kvm.conf:kvm_intel
-
Load module:
modprobe kvm_amd
-
Install
qemu,virt-manager,dnsmasqandiptables:sudo pacman -S --needed qemu virt-manager dnsmasq iptables-nft -
Run and enable boot up start
libvirtddaemon:systemctl enable --now libvirtd -
Use PolicyKit authorization create
/etc/polkit-1/rules.d/50-libvirt.rules(before/etc/polkit-1/rules.d/50-org.libvirt.unix.manage.rules) as below context:
/* Allow users in kvm group to manage the libvirt
daemon without authentication */
polkit.addRule(function(action, subject) {
if (action.id == "org.libvirt.unix.manage" &&
subject.isInGroup("kvm")) {
return polkit.Result.YES;
}
});
-
You will need to create the libvirt group and add any users you want to have access to libvirt to that group:
groupadd libvirt sudo gpasswd -a $(whoami) libvirt -
Check network interface status:
sudo virsh net-list --all
-
If it is
inactivestart it using:sudo virsh net-start default
-
Now you can use virt-manager manager your virtual machine.
-
Things to do after installing a Windows VM.
- Check and install drivers on your guest Windows VM, probably
virtio-winis a nice place to start.
-
If
virsh net-listis not listing any network interface just reinitialize it with,sudo virsh net-define /usr/share/libvirt/networks/default.xml -
Then just
autostartit like so,sudo virsh net-autostart default
-
Step 1: Edit
/etc/libvirt/qemu.conffile:sudo nano /etc/libvirt/qemu.conf -
Step 2: Find the
userandgroupdirectives. By default, both are set to"root",[...] Some examples of valid values are: # user = "qemu" # A user named "qemu" user = "+0" # Super user (uid=0) user = "100" # A user named "100" or a user with uid=100 # #user = "root" The group for QEMU processes run by the system instance. It can be specified in a similar way to user. #group = "root" [...]Uncomment both lines and replace root with your username and group with libvirt as shown below:
[...] Some examples of valid values are: # user = "qemu" # A user named "qemu" user = "+0" # Super user (uid=0) user = "100" # A user named "100" or a user with uid=100 # user = "sk" The group for QEMU processes run by the system instance. It can be specified in a similar way to user. group = "libvirt" [...] -
Step 3: Restart libvirtd service:
sudo systemctl restart libvirtd
We have a Windows 7 VM running on Ubuntu KVM. I needed to give the Windows 7 machine more disk space. This turns out to be really easy (when you know how).
-
Shutdown the VM
virsh shutdown hostname -
Increase the qcow2 image
Find the qcow2 file of the VM and take a backup (just in case).
cp hostname.qcow2 hostname.qcow2.backup
qemu-img resize hostname.qcow2 +100GB
-
Start the VM
virsh start hostname -
Extend the partition in Window
Windows has a really good partition management utility built into it. Search for disk management
Original guide - http://wood1978.dyndns.org/~wood/wordpress/2013/07/22/arch-linux-setup-kvm-with-virt-manager-gui/comment-page-1/
KVM @ Arch Wiki - https://wiki.archlinux.org/index.php/KVM
libvirt @ Arch Wiki - https://wiki.archlinux.org/index.php/Libvirt
QEMU @ Arch Wiki - https://wiki.archlinux.org/index.php/QEMU
Network Interface Status - http://ask.xmodulo.com/network-default-is-not-active.html
Network Interface Troubleshooting - https://blog.programster.org/kvm-missing-default-network
Networking libvirt wiki - https://wiki.libvirt.org/page/Networking#NAT_forwarding_.28aka_.22virtual_networks.22.29
Fedora Wiki - Windows Virtio Drivers - https://stg.fedoraproject.org/wiki/Windows_Virtio_Drivers
Extend disk size Windows partition KVM QEMU VM - https://www.randomhacks.co.uk/how-to-extend-increase-a-windows-partition-on-kvm-qemu-vm/
Increasing a KVM machine disk space - https://serverfault.com/questions/324281/how-do-you-increase-a-kvm-guests-disk-space
Fixing Cannot access storage file, Permission denied Error in KVM Libvirt - https://ostechnix.com/solved-cannot-access-storage-file-permission-denied-error-in-kvm-libvirt/
You can use $(whoami) to replace USER_NAME as the default value.