When Does Boxes Beat virt-manager?
2am, the staging server throws an error with a newly installed package. I need to quickly test on a clean environment, but the homelab Proxmox is running a backup — 12 VMs and containers are eating all the I/O. Open virt-manager: configure the network bridge, storage pool, firmware… 15 minutes just to create a VM. Not now.
GNOME Boxes solves exactly that problem: a VM running in 3 clicks, no need to know what libvirt or QEMU even are.
Three Tools, Three Different Problems
All three — Boxes, virt-manager, VirtualBox — can create VMs. But their target users are completely different, and picking the wrong tool isn’t because the tool is bad — it’s because it wasn’t designed for your use case:
GNOME Boxes
- Target users: Developers, desktop users who need VMs quickly
- Actual backend: QEMU/KVM (running under the hood)
- UI: 3-step wizard, zero configuration
- Advanced config: None — this is both a strength and a limitation
virt-manager
- Target users: Sysadmins, users familiar with KVM/libvirt
- Backend: libvirt (manages QEMU/KVM)
- UI: Full options — network, storage pool, CPU topology, PCI passthrough
- Advanced config: Yes — bridge networking, multiple disks, snapshots
VirtualBox
- Target users: Cross-platform users (need to run on Windows/Mac too)
- Backend: Proprietary hypervisor, doesn’t use KVM
- UI: Familiar interface, many options
- Advanced config: Yes, but performance is typically 20–30% worse than QEMU/KVM
Pros and Cons of Each Tool
GNOME Boxes — So Simple It Can Be… Frustrating
The main strength is zero configuration. Install it, drop in an ISO, wait a few minutes, and the VM is running. Boxes automatically creates the disk image, allocates RAM (defaults to about 1/4 of host RAM, minimum 1GB), and never asks what a bridge network is.
But that same simplicity is also a hard limit. I’ve often wanted to:
- Attach a second disk to a VM — no UI to do it
- Configure bridged networking so the VM gets its own IP on the LAN — not directly supported
- Snapshot a VM before testing — Boxes doesn’t have this feature
- USB passthrough for physical devices — have to switch to virt-manager or QEMU CLI
Bottom line: Boxes is suited for quick testing, not for managing VMs long-term.
virt-manager — Powerful but High Entry Barrier
virt-manager exposes the full power of KVM/QEMU through a graphical interface. Snapshots, bridge networking, PCI passthrough — all doable. But to create your first VM, you need to understand what a storage pool is, how NAT differs from bridged networking, where libvirtd runs. For newcomers, that’s too many concepts just to spin up Ubuntu.
VirtualBox — Familiar but Slower on Linux
VirtualBox has one genuine advantage: the same VM files run on Windows, Mac, and Linux. That’s the only reason to choose it. Because it doesn’t use KVM, performance is noticeably worse than QEMU — I/O benchmarks typically show a 20–30% gap, and CPU-intensive workloads are even worse. On pure Linux, there’s no good reason to pick VirtualBox.
Rule of Thumb: Which Tool to Choose?
After a few years using all three, here’s the pattern I follow:
- Quick testing of a new OS, temporary isolated environment → Boxes (5 minutes from zero to a running VM)
- Dev environment needing specific networking, snapshots, multiple disks → virt-manager
- Production VMs, clusters, automated backups → Proxmox or libvirt/virsh
- Cross-platform — need to run the same VM on Windows → VirtualBox
Installing GNOME Boxes
Ubuntu / Debian
sudo apt update
sudo apt install gnome-boxes
Fedora (usually pre-installed with GNOME Workstation)
sudo dnf install gnome-boxes
Arch Linux
sudo pacman -S gnome-boxes
After installing, verify KVM is loaded by the kernel:
lsmod | grep kvm
# Expected output:
# kvm_intel xxx 0 (Intel)
# kvm xxx 1 kvm_intel
# Or kvm_amd for AMD CPUs
No output? Go into your BIOS and enable Intel VT-x or AMD-V. Boxes will still run without KVM, but it’ll be painfully slow — software emulation can be 5–10× slower than KVM, depending on the workload.
Creating Your First VM with GNOME Boxes
Auto-Download an OS (Fastest Method)
Open Boxes → Click the + button in the top-left corner → select “Download an OS”. Boxes has a built-in list of Ubuntu, Fedora, Debian, openSUSE… Pick one, click Download, and the VM is automatically created and starts up.
Using an Existing ISO
- Click + → select “Use a file”
- Select the ISO file from your machine
- Boxes auto-detects the OS and fills in the VM name
- Review the RAM and disk configuration — adjustable at this step
- Click “Create” — the VM boots straight into the installer
Adjusting VM Configuration After Creation
Hover over the VM → click the ⋮ menu → “Properties”. Here you can adjust RAM, disk size, and 3D acceleration.
Practical Tips for Long-Term Use
Finding VM Disk Files
Boxes stores all VMs as qcow2 files:
ls -lh ~/.local/share/gnome-boxes/images/
# ubuntu-24.04.qcow2 8.5G
# fedora-40.qcow2 12G
These qcow2 files can be imported into virt-manager or used directly with QEMU when you need more advanced features. VMs aren’t locked into Boxes — that’s a plus that not many people notice.
Increasing Disk Size After VM Creation (Boxes Has No UI for This)
# 1. Shut down the VM first
# 2. Resize the qcow2 file
qemu-img resize ~/.local/share/gnome-boxes/images/ubuntu-24.04.qcow2 +20G
# Verify
qemu-img info ~/.local/share/gnome-boxes/images/ubuntu-24.04.qcow2
# 3. Inside the VM, extend the partition
sudo growpart /dev/vda 1
sudo resize2fs /dev/vda1
Manual Snapshots (Boxes Has No UI Support)
# Create a snapshot before testing
qemu-img snapshot -c "before-update" \
~/.local/share/gnome-boxes/images/ubuntu-24.04.qcow2
# List snapshots
qemu-img snapshot -l ~/.local/share/gnome-boxes/images/ubuntu-24.04.qcow2
# Rollback
qemu-img snapshot -a "before-update" \
~/.local/share/gnome-boxes/images/ubuntu-24.04.qcow2
Quick VM Cloning
cp ~/.local/share/gnome-boxes/images/ubuntu-24.04.qcow2 \
~/.local/share/gnome-boxes/images/ubuntu-24.04-clone.qcow2
Boxes auto-detects the new file when you restart the application.
Limitations to Know Before Committing Long-Term
My homelab runs Proxmox VE with 12 VMs and containers. Boxes still has its place in that workflow — for when I need to spin up a test VM in 3 minutes without logging into the Proxmox web UI. But make no mistake: Boxes and Proxmox solve completely different problems.
But let’s be realistic about what Boxes cannot do:
- No snapshot UI: Must use
qemu-img snapshotfrom the terminal - No bridged networking: VMs are NAT-only, no dedicated IP on your LAN
- No USB passthrough: Requires virt-manager or QEMU CLI
- No multiple NICs: Only 1 network card by default
- No performance tuning: Can’t configure CPU pinning, hugepages, or NUMA
Need anything from that list? Switch to virt-manager. Don’t try to hack Boxes into doing something it was never designed for.
Conclusion
GNOME Boxes is the right choice when you need a “VM that just works” — no reading libvirt documentation at 2am, no need to understand what a storage pool is. Three clicks, VM running. Perfect for trying a new OS, testing packages in a clean environment, or giving a quick demo to a colleague.
When your workload gets more complex — dedicated networking, multiple disks, frequent snapshots — that’s when to migrate to virt-manager. Boxes does its job well as the first step into the world of virtualization on the Linux desktop, and that’s enough.

