Install KVM Hypervisor on Ubuntu 24.04|22.04|20.04

In this guide you’ll learn to install KVM hypervisor on Ubuntu 24.04|22.04|20.04. KVM, short for Kernel-based Virtual Machine is a free and open source virtualization platform for Linux and owned by Red Hat. KVM turns your Linux system into a hypervisor and allows you to run multiple guest operating systems (virtual machines) which do not interfere with the normal Linux operations. To be able to run KVM virtual machines, you need to ensure that your Ubuntu supports CPU virtualization extensions like Intel-VT and AMD-V.

With KVM, every virtual machine is implemented like a regular Linux process but with isolated resources such as network card, memory and CPU. It is part of Linux and is faster than its counterparts. It is referred to as Kernel-based virtual machine because once installed a kernel module (kvm-intel.ko / kvm-amd.ko) is loaded into the kernel.

The below steps guide us on how to install KVM on Ubuntu 24.04|22.04|20.04:

Step 1: Confirm Hardware Virtualization is supported

As stated above, your Ubuntu 20.04 should support hardware virtualization for you to be able to to install a hypervisor like KVM and run virtual machines. Run the below command on the terminal

$ grep -E -c "vmx|svm" /proc/cpuinfo
8

If the output is higher than zero, hardware virtualization is supported otherwise it is not and you, therefore, need to enter system bios and enable VT technology.

You may also wish to check whether your system is capable of running KVM virtual machines. Install ‘cpu-checker’ to enable you to verify.

sudo apt update
sudo apt install -y cpu-checker

Once installed, verify with the below command:

$ kvm-ok
INFO: /dev/kvm exists
KVM acceleration can be used

Step 2: Install KVM , Virt-manager and other dependencies

Once you have verified that your machine can handle KVM hypervisor and run virtual machine, proceed to install KVM, virt-manager and bridge-utils with the below command:

sudo apt update
sudo apt install -y qemu qemu-kvm libvirt-daemon bridge-utils virt-manager virtinst

When installation is complete, verify that KVM module has been loaded into kernel with the below command:

$ lsmod | grep -i kvm
kvm_intel             286720  0
kvm                   712704  1 kvm_intel

Step 3: Start libvirtd service on Ubuntu

Libvirtd service should be automatically started when installed. Confirm status as below:

$ systemctl status libvirtd.service
● libvirtd.service - Virtualization daemon
     Loaded: loaded (/lib/systemd/system/libvirtd.service; enabled; vendor preset: enabled)
     Active: active (running) since Mon 2025-02-03 13:24:15 EAT; 5min ago
TriggeredBy: ● libvirtd-ro.socket
             ● libvirtd.socket
             ● libvirtd-admin.socket
       Docs: man:libvirtd(8)
             https://libvirt.org
   Main PID: 58453 (libvirtd)
      Tasks: 19 (limit: 32768)
     Memory: 16.4M

Step 4: Create a Bridge network for KVM virtual machines (Optional)

The network bridge will enable your VMs to be accessible from the internet if you need so. There is already a virtual bridge, virbr0, created automatically when KVM is installed and is used for testing purposes. To create a virtual bridge, edit netplan or network interfaces configurations depending on which your system is using. For my case, I am editing netplan configuration

sudo vim /etc/netplan/01-network-manager-all.yaml

Below in my initial configuration:

network:
  ethernets:
    enp0s3:
     addresses: [1192.168.50.2/24 ]
      gateway4:  192.168.50.1
      nameservers:
        addresses: [4.2.2.2, 8.8.8.8]
  version: 2

To create a bridge, remove the settings on the primary interface and put the under the bridge interface configured on the primary interface as below:

network:
  ethernets:
    enp0s3:
      dhcp4: no
      dhcp6: no
  version: 2
  bridges:
    br0:
      interfaces: [enp0s3]
      addresses: [192.168.50.2/24]
      gateway4: 192.168.50.1
      nameservers:
        addresses: [4.2.2.2, 8.8.8.8]

Once done, activate the changes using below command and you should see your br0 bridge created.

sudo netplan try

Step 5: Add your user to user to libvirt and kvm groups

Use the below commands to add your user to Libvirt and KVM groups.

sudo usermod -aG libvirt $USER
sudo usermod -aG kvm $USER

Step 6: Reboot your Ubuntu system

After all configurations, I would recommend to reboot your Ubuntu system to avoid the error of ‘Not Connected’ when you open virt-manager.

sudo reboot

Step 7: Create KVM virtual machines

We can create a Virtual Machine in KVM using virt-manager user interface or from command line using virt-install. Let’s launch virt-manager and start creating our virtual machines. On the terminal, run the command as below:

$ virt-manager

The above command should open virt-manager graphical interface. If it doesn’t you may be required to install xserver environment as below:

sudo apt update
sudo apt-get install xorg -y
sudo reboot

Alternatively, if your Ubuntu has a graphical interface, virt-manager will have been added to the your desktop and you can launch by double clicking on the desktop shortcut and Virtual Machine Manager should open up.

If you are on a GUI environment, you can create a vm using virt manager’s GUI, but if you are a terminal lover, follow the next step to create from the command line.

Create KVM Virtual Machines from Command line

To install a VM on KVM from command line, I am going to run a command as below, where in this case I am installing Oracle Linux 8

sudo virt-install \
--name=Oracle8-vm \
--vcpus=2 \
--memory=1650 \
--cdrom=/var/lib/libvirt/images/OracleLinux-R8-U1-x86_64-dvd.iso \
--disk size=20 \
--os-variant=ol8.0

The virsh Utility.

Virsh is a utility used to interact with the virtual machines. For example, you can list all the configured guests by running the command below:

$ sudo virsh list --all
 Id   Name         State
----------------------------
 4    Oracle8-vm   running
 5    ol8.0        running

You can also use edit guest parameters by running the command below and specifying VM name:

$ sudo virsh edit ol8.0
Select an editor.  To change later, run 'select-editor'.
  1. /bin/nano        <---- easiest
  2. /usr/bin/vim.basic
  3. /usr/bin/vim.tiny
  4. /bin/ed

Choose 1-4 [1]: 

The output is an xml file of the VM configuration which you can edit as you like and save the file.

That’s all I had on how to install KVM hypervisor on Ubuntu. We have also looked at how to create virtual machines on KVM using virt-install via the command line. I hope the guide has be useful. Please don’t forget to click on the below links for more great articles:

Video Courses to Learn Linux System Administration:

Your IT Journey Starts Here!

Ready to level up your IT skills? Our new eLearning platform is coming soon to help you master the latest technologies.

Be the first to know when we launch! Join our waitlist now.

Join our Linux and open source community. Subscribe to our newsletter for tips, tricks, and collaboration opportunities!

Recent Post

Leave a Comment

Your email address will not be published. Required fields are marked *

Related Post

One of the most effective control panels for web hosting that is used to host websites and administer web servers […]

Beekeeper Studio is an open-source completely free cross-platform SQL editor and database manager. It is available for Mac, Linux, and […]

OpenResty® is a full-featured web platform that uses our improved Nginx core to scale online applications and services. Its purpose […]

Let's Connect

Unleash the full potential of your business with CloudSpinx. Our expert solutions specialists are standing by to answer your questions and tailor a plan that perfectly aligns with your unique needs.
You will get a response from our solutions specialist within 12 hours
We understand emergencies can be stressful. For immediate assistance, chat with us now

Contact CloudSpinx today!

Download CloudSpinx Profile

Discover the full spectrum of our expertise and services by downloading our detailed Company Profile. Simply enter your first name, last name, and email address.