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
netctl
or 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
br0
instead 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
libvirtd
is running - Verify you’re in the
libvirt
group - Use
sudo virsh list --all
to 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
dnsmasq
andvirbr0
are active:ip a systemctl status libvirtd
Poor performance
- Enable CPU virtualization in BIOS
- Assign more RAM or CPU
- Use
virtio
drivers 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.