How to Install QEMU/KVM on Ubuntu to Create Virtual Machines

Brief: In this guide, we explore how to install QEMU/KVM on Ubuntu in order to create virtual machines.

Virtualization is one of the most widely used technologies both in enterprise and home environments. Whether you are a seasoned IT expert, a programmer, or an IT novice, virtualization can be one of your greatest friends.

Virtualization is the abstraction of a computer’s hardware resources using a software application known as a hypervisor. The hypervisor creates an abstraction layer over computer hardware and virtualizes various components of the system including but not limited to memory, processor, storage, USB devices, etc.

In doing so, it allows you to create virtual computers also known as virtual machines off of the virtualized elements, and each virtual machine, also known as a guest, runs independently from the host system.

KVM, short for Kernel-based Virtual Machine is an open-source type 1 hypervisor (bare metal hypervisor) that is integrated into the Linux kernel. It allows you to create and manage virtual machines running Windows, Linux, or UNIX variants such as FreeBSD, and OpenBSD.

As mentioned earlier, each virtual machine has its own virtual resources such as storage, memory, CPU, network interfaces, USB interfaces, and video graphics to mention a few.

QEMU (Quick Emulator) is a software module that emulates various components of computer hardware. It supports full virtualizations and works alongside KVM to provide a holistic virtualization experience.

In this guide, we will demonstrate how to install QEMU/KVM on Ubuntu 20.04 / 22.04 distributions.

Step 1: Check Virtualization Enabled in Ubuntu

To start off check if your CPU supports virtualization technology. Your system needs to have an Intel VT-x (vmx) processor or AMD-V (svm) processor.

To verify this, run the following egrep command.

$ egrep -c '(vmx|svm)' /proc/cpuinfo

If Virtualization is supported, the output should be greater than 0, for example, 2,4,6, etc.

Alternatively, you can run the following grep command to display the type of processor your system supports. In our case, we are running Intel VT-x denoted by the vmx parameter.

$ grep -E --color '(vmx|svm)' /proc/cpuinfo
Enable Virtualization in Ubuntu
Enable Virtualization in Ubuntu

Equally important, check if KVM virtualization is supported by running the following command:

$ kvm-ok
Check KVM Virtualization in Ubuntu
Check KVM Virtualization in Ubuntu

If the kvm-ok utility is missing, install the cpu-checker package as follows.

$ sudo apt install cpu-checker -y

Now that we have verified that our system supports KVM virtualization, let us proceed and install QEMU.

Step 2: Install QEMU/KVM on Ubuntu 20.04/22.04

Next up, update the package lists and repositories as follows.

$ sudo apt update

Thereafter, install QEMU/KVM alongside other virtualization packages as follows:

$ sudo apt install qemu-kvm virt-manager virtinst libvirt-clients bridge-utils libvirt-daemon-system -y
Install Qemu in Ubuntu
Install Qemu on Ubuntu

Let us examine what role each of these packages plays.

  • qemu-kvm – This is an open-source emulator that emulates the hardware resources of a computer.
  • virt-manager – A Qt-based GUI interface for creating and managing virtual machines using the libvirt daemon.
  • virtinst – A collection of command-line utilities for creating and making changes to virtual machines.
  • libvirt-clients – APIs and client-side libraries for managing virtual machines from the command line.
  • bridge-utils – A set of command-line tools for managing bridge devices.
  • libvirt-daemon-system – Provides configuration files needed to run the virtualization service.

At this point, we have installed QEMU and all the essential virtualization packages. The next step is to start and enable the libvirtd virtualization daemon.

So, run the following commands:

$ sudo systemctl enable --now libvirtd
$ sudo systemctl start libvirtd

Next, verify if the virtualization service is running as shown.

$ sudo systemctl status libvirtd
Start libvirtd Virtualization Service
Start libvirtd Virtualization Service

From the output above, the libvirtd daemon is up and running as expected. Additionally, add the currently logged-in user to the kvm and libvirt groups as shown.

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

Step 3: Launch Virtual Machine Manager in Ubuntu

The next step is to launch the QEMU/KVM GUI tool which is the Virtual Machine Manager.

$ sudo virt-manager

The Virtual Machine Manager will pop up as shown. From here, you can start creating and managing virtual machines as we shall demonstrate shortly.

Qemu Virtual Machine Manager
Qemu Virtual Machine Manager

Step 4: Create Virtual Machine with QEMU/KVM in Ubuntu

In this section, we will demonstrate how you can create a virtual machine using an ISO image. For demonstration purposes, we will use a Fedora Live ISO image. You can use an ISO image of your preferred OS and follow along.

To begin, click on the icon at the top left corner as shown below.

Create Virtual Machine in Qemu
Create a Virtual Machine in Qemu

Since we are creating a virtual machine from an ISO file, select the first option – ‘Local install media (ISO image or CDROM)‘. Then click ‘Forward‘.

Choose VM Install Type
Choose VM Install Type

Next, click ‘Browse’ to navigate to the location of the ISO file.

Choose VM ISO File
Choose VM ISO File

Since the ISO file is saved locally on your system, we will click ‘Browse Local’.

Browse Local Filesystem
Browse Local Filesystem

Be sure to navigate to the location of your ISO file. Click it and then click ‘Open’.

Choose OS ISO File
Choose OS ISO File

Before proceeding, ensure that you have selected the operating system from the drop-down menu. Then click ‘Forward’.

Choose VM Operating System
Choose VM Operating System

Click ‘Yes’ on the pop-up to grant the emulator search permissions to the ISO file.

Grant Permission on Emulator
Grant Permission on Emulator

Next, select the Memory size and the number of CPU cores and click ‘Forward’.

Choose VM Memory and CPU Settings
Choose VM Memory and CPU Settings

In the next step, enable storage for the virtual machine and specify the virtual disk size. Then click ‘Forward’.

Choose VM Disk Size
Choose VM Disk Size

Finally, review all the settings that you have defined, and if all looks good, click ‘Finish’ to create the virtual machine. Else, click ‘back’ and make the necessary changes.

Review VM Settings
Review VM Settings

Once you click ‘Finish’ the virtual machine manager will start creating the virtual machine based on the set configurations.

Creating Virtual Machine in Qemu
Creating a Virtual Machine in Qemu

And in a matter of seconds, the virtual machine installation wizard will pop up. You can proceed with the installation as you would on a physical system.

Virtual Machine Installation
Virtual Machine Installation

In addition, your virtual machine will be listed on the Virtual machine manager as shown. By right-clicking on your VM, you can perform a variety of tasks including pausing, rebooting, resetting, and deleting the virtual machine among many others.

Virtual Machine Manager VM Settings
Virtual Machine Manager VM Settings

In this guide, we have demonstrated how to install QEMU/KVM on Ubuntu 20.04 / 22.04. In addition, we went a step further and created a virtual machine using an ISO image file.

To manage KVM virtual machines, read our following articles:

Hey TecMint readers,

Exciting news! Every month, our top blog commenters will have the chance to win fantastic rewards, like free Linux eBooks such as RHCE, RHCSA, LFCS, Learn Linux, and Awk, each worth $20!

Learn more about the contest and stand a chance to win by sharing your thoughts below!

James Kiarie
This is James, a certified Linux administrator and a tech enthusiast who loves keeping in touch with emerging trends in the tech world. When I'm not running commands on the terminal, I'm taking listening to some cool music. taking a casual stroll or watching a nice movie.

Each tutorial at TecMint is created by a team of experienced Linux system administrators so that it meets our high-quality standards.

Join the TecMint Weekly Newsletter (More Than 156,129 Linux Enthusiasts Have Subscribed)
Was this article helpful? Please add a comment or buy me a coffee to show your appreciation.

5 Comments

Leave a Reply
  1. Fantastic tutorial about qemu-kvm. I have tried other virtualization variants, such as VirtualBox, Boxes, and VM Ware. For different reasons, they all accused me of an error when installing Linux OS. I am currently using Ubuntu 22.04 as a host.

    I followed the instructions in this tutorial and was able to install everything I wanted without problems. I thank the author because he will allow me to create a sandbox environment to practice MySQL with Fedora 38.

    Reply
  2. Thanks for the tutorial.

    I got the error: “KVM Virt-Manager Error: No active connection to Installed on“.

    All the packages you mentioned were installed, service libvirtd was running, and the currently logged-in user was added to the groups kvm and libvirt.

    Fixed it by making my user the owner of the libvirt socket:

    $ sudo chown username:username /var/run/libvirt/libvirt-sock
    

    Found it here: https://askubuntu.com/questions/932200/kvm-virt-manager-error-no-active-connection-to-installed-on

    Reply

Got Something to Say? Join the Discussion...

Thank you for taking the time to share your thoughts with us. We appreciate your decision to leave a comment and value your contribution to the discussion. It's important to note that we moderate all comments in accordance with our comment policy to ensure a respectful and constructive conversation.

Rest assured that your email address will remain private and will not be published or shared with anyone. We prioritize the privacy and security of our users.