FedoraRHEL Based

How To Install KVM on Fedora 39

Install KVM on Fedora 39

In this tutorial, we will show you how to install KVM on Fedora 39. KVM (Kernel-based Virtual Machine) is a virtualization solution built into the Linux kernel that allows you to create and run virtual machines.

This article assumes you have at least basic knowledge of Linux, know how to use the shell, and most importantly, you host your site on your own VPS. The installation is quite simple and assumes you are running in the root account, if not you may need to add ‘sudo‘ to the commands to get root privileges. I will show you the step-by-step installation of Kernel-based Virtual Machine (KVM) on a Fedora 39.


Before diving into the installation process, let’s ensure that you have everything you need:

  • A server running one of the following operating systems: Fedora 39.
  • It’s recommended that you use a fresh OS install to prevent any potential issues.
  • You will need access to the terminal to execute commands. Fedora 39 provides the Terminal application for this purpose. It can be found in your Applications menu.
  • A network connection or internet access to download the KVM repository.
  • Intel VT or AMD-V CPU feature for hardware virtualization support.
  • A minimum of 2GB RAM, with 4GB recommended for a smoother experience, especially for workstation installations.
  • At least 15GB of unallocated drive space, with 20GB recommended for workstation installations.
  • VGA capable of 1024×768 screen resolution, though 800×600 is sufficient for graphical installation.
  • A non-root sudo user or access to the root user. We recommend acting as a non-root sudo user, however, as you can harm your system if you’re not careful when acting as the root.

Install KVM on Fedora 39

Step 1. Before installing KVM, it’s crucial to update your system. This ensures that all existing packages are up-to-date, and the system repo cache is refreshed. To update Fedora 39, use the following command:

sudo dnf clean all
sudo dnf update

Step 2. Install Dependencies.

First, install the qemu-kvm and libvirt packages which provide the userspace tools and management for KVM:

sudo dnf install @virtualization libvirt qemu-kvm virt-install bridge-utils

Next, enable and start the libvirtd service which manages virtualization on the host:

sudo systemctl enable --now libvirtd

Finally, verify the KVM kernel modules are loaded:

lsmod | grep kvm

Step 3. Create a Virtual Machine.

With KVM installed, you can now use the virt-install command to create new virtual machines. This will set up storage, networking, OS installation, etc.

As an example, here’s how to create a Fedora 39 VM:

sudo virt-install \
  --name fedora39 \
  --ram 4096 \
  --disk path=/var/lib/libvirt/images/fedora39.qcow2,size=20 \
  --vcpus 2 \ 
  --os-variant fedora39 \
  --network bridge=virbr0 \
  --graphics none \
  --location /path/to/fedora-39.iso \

The virtual machine will boot from the Fedora installation media and step through the installation process.

Step 4. Manage VMs with virsh.

To manage the virtual machines, you can use virsh – the command line interface for libvirt. Some common virsh commands include:

virsh list # list running VMs  
virsh start  # start a VM
virsh shutdown  # gracefully shutdown a VM
virsh destroy  # forcibly power off a VM
virsh console  # connect to the VM's console

And that covers the basics of setting up KVM virtualization on Fedora 39 with CLI! With these building blocks, you can now create and manage virtual machines for development, testing, or production workloads.

Congratulations! You have successfully installed KVM. Thanks for using this tutorial for installing the Kernel-based Virtual Machine (KVM) on your Fedora 39 system. For additional or useful information, we recommend you check the official KVM website.

VPS Manage Service Offer
If you don’t have time to do all of this stuff, or if this is not your area of expertise, we offer a service to do “VPS Manage Service Offer”, starting from $10 (Paypal payment). Please contact us to get the best deal!


r00t is a seasoned Linux system administrator with a wealth of experience in the field. Known for his contributions to idroot.us, r00t has authored numerous tutorials and guides, helping users navigate the complexities of Linux systems. His expertise spans across various Linux distributions, including Ubuntu, CentOS, and Debian. r00t's work is characterized by his ability to simplify complex concepts, making Linux more accessible to users of all skill levels. His dedication to the Linux community and his commitment to sharing knowledge makes him a respected figure in the field.
Back to top button