How to Manage VMs with `virt-manager` on Arch Linux
virt-manager on Arch LinuxCategories:
5 minute read
Managing virtual machines (VMs) on Arch Linux can be a powerful way to test other operating systems, run isolated applications, or simulate entire networks. One of the most accessible tools for this is virt-manager — the Virtual Machine Manager. It provides a graphical interface to manage KVM-based virtual machines, and it integrates well with libvirt, offering a clean and efficient experience even on minimalist systems like Arch Linux.
In this guide, we’ll go through the installation, setup, and usage of virt-manager on Arch Linux, including network setup, storage management, and VM creation. Whether you’re a seasoned sysadmin or an enthusiastic Linux user, this walkthrough will help you leverage the full capabilities of virtual machines on your Arch system.
What is virt-manager?
virt-manager (Virtual Machine Manager) is a desktop user interface for managing virtual machines through libvirt. It supports KVM, QEMU, and other virtualization technologies. virt-manager simplifies tasks like:
- Creating virtual machines from ISO images
- Configuring CPU, memory, and storage
- Managing networking (NAT, bridged, etc.)
- Taking and restoring snapshots
- Accessing VM consoles through SPICE or VNC
For Arch Linux users, it brings a practical GUI alternative to CLI-heavy tools like virsh.
Prerequisites
Before you begin, make sure:
- You’re running Arch Linux with a relatively recent kernel
- Your CPU supports hardware virtualization (Intel VT-x or AMD-V)
- Virtualization is enabled in your system’s BIOS/UEFI
- You have administrative (sudo) privileges
You can verify CPU virtualization support with:
egrep -c '(vmx|svm)' /proc/cpuinfo
If the output is 0, your CPU might not support virtualization or it might be disabled in BIOS/UEFI.
Installing virt-manager and dependencies
On Arch Linux, installation is straightforward using the official repositories. Run the following command:
sudo pacman -S virt-manager qemu vde2 ebtables dnsmasq bridge-utils libvirt
Here’s a brief on each package:
virt-manager: GUI for VM managementqemu: The core virtualization backendlibvirt: Abstraction layer and service for managing VMsvde2,ebtables,dnsmasq,bridge-utils: Required for various networking options
You may also want ovmf if you’re planning to boot UEFI-based virtual machines:
sudo pacman -S edk2-ovmf
Configuring libvirt and KVM
Once installed, you’ll need to make sure libvirt is configured correctly.
Load the necessary kernel modules
KVM requires kernel modules. Load them using:
sudo modprobe kvm
sudo modprobe kvm_intel # For Intel CPUs
# or
sudo modprobe kvm_amd # For AMD CPUs
You can add these modules to /etc/modules-load.d/virt.conf for persistence:
kvm
kvm_intel # or kvm_amd
Starting and Enabling Services
Start and enable the libvirtd service:
sudo systemctl enable --now libvirtd.service
Check the service status to confirm it’s running:
systemctl status libvirtd
Setting User Permissions
By default, only users in the libvirt group can manage VMs without root.
Add your user to the group:
sudo usermod -aG libvirt $(whoami)
Log out and log back in for the group change to take effect.
To verify:
groups
You should see libvirt in the list.
Using virt-manager
Once everything is set up, you can launch virt-manager from your application menu or terminal:
virt-manager
Creating a New Virtual Machine
- Click “New” in the top-left corner.
- Choose Installation Media – ISO or network boot (PXE).
- Select ISO Location – Use local ISO or browse.
- Allocate Memory and CPU – Assign RAM and CPU cores.
- Create Disk Image – Allocate storage (e.g., 20GB).
- Name Your VM – Choose a name and finalize the setup.
Once created, the VM will appear in the main list. You can start, pause, or delete VMs from here.
Managing VM Settings
Right-click on a VM → “Open” → Click the lightbulb icon to open the details panel. From here you can:
- Add/remove hardware (disk, network interfaces)
- Adjust memory or CPU allocation
- Change boot order
- Attach USB devices
- Configure display settings (SPICE/VNC)
Snapshots and Cloning
virt-manager supports:
- Snapshots: Great for creating restore points before risky operations.
- Cloning: Useful for duplicating VM environments.
To take a snapshot:
- Select VM → “Snapshots” tab → Click “Take Snapshot”
To clone:
- Right-click VM → “Clone” → Follow the wizard
Networking Options
By default, virt-manager uses NAT (via dnsmasq), which is fine for most users. But you can set up bridged networking if you need VMs to have direct access to the LAN.
NAT (Default)
- Simple and requires no extra setup
- Suitable for internet access from VM
- Not accessible from LAN
Bridged Networking
To set up bridged networking:
- Install
netctlor usesystemd-networkd(depending on your network manager) - Create a bridge interface, e.g.,
br0 - Attach bridge to physical NIC (e.g.,
enp3s0) - Configure VM network to use
br0instead ofvirbr0
For example, a basic netctl bridge profile might look like:
Description='Bridge connection'
Interface=br0
Connection=bridge
BindsToInterfaces=(enp3s0)
IP=dhcp
Don’t forget to restart networking services and ensure br0 is active before launching VMs.
Storage Management
Virtual machine disks are usually stored in /var/lib/libvirt/images/. virt-manager lets you:
- Use raw or qcow2 disk formats
- Create thin-provisioned or pre-allocated storage
- Resize disks after creation (with care)
- Attach external disk images (e.g.,
.img,.iso)
To manage storage pools:
- Go to Edit → Connection Details → Storage
- Click the + icon to add a new pool (e.g., a custom folder or external disk)
- Define name, path, and format
Troubleshooting Common Issues
“No connection to hypervisor” error
- Make sure
libvirtdis running - Verify you’re in the
libvirtgroup - Use
sudo virsh list --allto test connectivity
Missing UEFI boot option
- Install
edk2-ovmf - In VM settings → Firmware → Select “UEFI” instead of BIOS
VMs can’t connect to the internet
Check if
dnsmasqandvirbr0are active:ip a systemctl status libvirtd
Poor performance
- Enable CPU virtualization in BIOS
- Assign more RAM or CPU
- Use
virtiodrivers for storage/network for better performance
Conclusion
Using virt-manager on Arch Linux makes managing virtual machines a lot simpler, especially for users who prefer GUI-based administration. With support for UEFI, snapshots, cloning, and flexible networking, it’s a full-featured solution for everything from basic desktop virtualization to advanced system simulations.
Thanks to Arch Linux’s rolling-release model and the power of KVM/QEMU under the hood, you can expect virt-manager to stay up-to-date and powerful. Whether you’re testing new distros, building a homelab, or running VMs in production, virt-manager is a reliable tool to have in your toolkit.
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.