Khi nào thì Boxes thắng virt-manager?
2 giờ sáng, máy chủ staging báo lỗi với một package mới cài. Mình cần test nhanh trên môi trường sạch, nhưng homelab Proxmox đang chạy backup — 12 VM và container đang ăn hết I/O. Mở virt-manager lên: kéo network bridge, cấu hình storage pool, chọn firmware… 15 phút chỉ để tạo VM. Không phải lúc này.
GNOME Boxes giải quyết đúng vấn đề đó: VM chạy được trong vòng 3 click, không cần biết libvirt hay QEMU là gì.
Ba công cụ, ba bài toán khác nhau
Cả ba — Boxes, virt-manager, VirtualBox — đều tạo được VM. Nhưng target người dùng hoàn toàn khác nhau, và chọn sai tool không phải vì tool đó tệ, mà vì nó không được thiết kế cho bài toán của bạn:
GNOME Boxes
- Đối tượng: Developer, người dùng desktop cần VM nhanh
- Backend thực: QEMU/KVM (chạy ngầm bên dưới)
- UI: Wizard 3 bước, zero configuration
- Cấu hình nâng cao: Không có — đây vừa là ưu điểm, vừa là giới hạn
virt-manager
- Đối tượng: Sysadmin, người đã quen KVM/libvirt
- Backend: libvirt (quản lý QEMU/KVM)
- UI: Đầy đủ tùy chọn — network, storage pool, CPU topology, PCI passthrough
- Cấu hình nâng cao: Có — bridge networking, multiple disks, snapshot
VirtualBox
- Đối tượng: Cross-platform (cần chạy cả trên Windows/Mac)
- Backend: Hypervisor riêng, không dùng KVM
- UI: Quen thuộc, nhiều tùy chọn
- Cấu hình nâng cao: Có, nhưng performance thường kém QEMU/KVM khoảng 20–30%
Phân tích ưu nhược từng công cụ
GNOME Boxes — đơn giản đến mức… đôi khi bực bội
Điểm mạnh chính là zero configuration. Cài xong, nhét ISO vào, chờ vài phút là VM chạy được. Boxes tự tạo disk image, tự cấp RAM (mặc định khoảng 1/4 RAM host, tối thiểu 1GB), không hỏi bridge network là gì.
Nhưng chính sự đơn giản đó cũng là giới hạn cứng. Mình đã nhiều lần muốn:
- Gắn thêm disk thứ hai vào VM — không có UI để làm
- Cấu hình bridged network để VM nhận IP riêng trên LAN — không hỗ trợ trực tiếp
- Snapshot VM trước khi thử nghiệm — Boxes không có tính năng này
- USB passthrough thiết bị vật lý — phải sang virt-manager hoặc QEMU CLI
Tóm lại: Boxes phù hợp để test nhanh, không phải để quản lý VM lâu dài.
virt-manager — mạnh nhưng entry barrier cao
virt-manager expose đầy đủ sức mạnh KVM/QEMU qua giao diện đồ họa. Snapshot, bridge networking, PCI passthrough — tất cả đều làm được. Nhưng để tạo VM đầu tiên, bạn cần hiểu storage pool là gì, NAT khác bridge như thế nào, libvirtd chạy ở đâu. Với người mới, đây là quá nhiều khái niệm chỉ để chạy thử Ubuntu.
VirtualBox — quen nhưng chậm hơn trên Linux
VirtualBox có một lợi thế thực sự: cùng file VM chạy được trên cả Windows, Mac, và Linux. Đó là lý do duy nhất để chọn nó. Vì không dùng KVM, performance tệ hơn QEMU rõ rệt — benchmark I/O thường chênh 20–30%, CPU-intensive workload còn tệ hơn. Trên Linux thuần, không có lý do gì để chọn VirtualBox.
Rule of thumb: chọn tool nào?
Sau vài năm dùng cả ba, đây là pattern mình áp dụng:
- Test nhanh OS mới, môi trường isolated tạm thời → Boxes (5 phút từ 0 đến VM chạy được)
- Dev environment cần network cụ thể, snapshot, nhiều disk → virt-manager
- Production VM, cluster, backup tự động → Proxmox hoặc libvirt/virsh
- Cross-platform — cần chạy cùng VM trên Windows → VirtualBox
Cài đặt GNOME Boxes
Ubuntu / Debian
sudo apt update
sudo apt install gnome-boxes
Fedora (thường đã cài sẵn nếu dùng GNOME Workstation)
sudo dnf install gnome-boxes
Arch Linux
sudo pacman -S gnome-boxes
Sau khi cài, kiểm tra KVM đã được kernel load chưa:
lsmod | grep kvm
# Output mong đợi:
# kvm_intel xxx 0 (Intel)
# kvm xxx 1 kvm_intel
# Hoặc kvm_amd nếu CPU AMD
Không thấy output? Vào BIOS bật Intel VT-x hoặc AMD-V. Boxes vẫn chạy mà không có KVM, nhưng chậm kinh khủng — software emulation có thể chậm hơn 5–10 lần so với KVM, tùy workload.
Tạo máy ảo đầu tiên với GNOME Boxes
Tải OS tự động (cách nhanh nhất)
Mở Boxes → Click nút + góc trên trái → chọn “Download an OS”. Boxes có danh sách sẵn Ubuntu, Fedora, Debian, openSUSE… Chọn, nhấn Download, chờ tải xong là VM tự tạo và khởi động.
Dùng ISO có sẵn
- Click + → chọn “Use a file”
- Chọn file ISO từ máy
- Boxes tự detect OS, tự điền tên VM
- Review cấu hình RAM và disk — có thể chỉnh tại bước này
- Click “Create” — VM khởi động ngay vào installer
Điều chỉnh cấu hình VM sau khi tạo
Hover vào VM → click menu ⋮ → “Properties”. Tại đây chỉnh được RAM, disk size, 3D acceleration.
Mẹo thực tế khi dùng lâu dài
Tìm file disk của VM
Boxes lưu tất cả VM dưới dạng qcow2:
ls -lh ~/.local/share/gnome-boxes/images/
# ubuntu-24.04.qcow2 8.5G
# fedora-40.qcow2 12G
File qcow2 này có thể import vào virt-manager hoặc dùng trực tiếp với QEMU khi cần tính năng nâng cao hơn. VM không bị lock in với Boxes — đó là một điểm cộng ít người để ý.
Tăng disk size sau khi tạo VM (Boxes không có UI cho việc này)
# 1. Tắt VM trước
# 2. Resize file qcow2
qemu-img resize ~/.local/share/gnome-boxes/images/ubuntu-24.04.qcow2 +20G
# Kiểm tra
qemu-img info ~/.local/share/gnome-boxes/images/ubuntu-24.04.qcow2
# 3. Vào trong VM, extend partition
sudo growpart /dev/vda 1
sudo resize2fs /dev/vda1
Snapshot thủ công (Boxes không hỗ trợ UI)
# Tạo snapshot trước khi thử nghiệm
qemu-img snapshot -c "truoc-khi-update" \
~/.local/share/gnome-boxes/images/ubuntu-24.04.qcow2
# Xem danh sách snapshot
qemu-img snapshot -l ~/.local/share/gnome-boxes/images/ubuntu-24.04.qcow2
# Rollback
qemu-img snapshot -a "truoc-khi-update" \
~/.local/share/gnome-boxes/images/ubuntu-24.04.qcow2
Clone VM nhanh
cp ~/.local/share/gnome-boxes/images/ubuntu-24.04.qcow2 \
~/.local/share/gnome-boxes/images/ubuntu-24.04-clone.qcow2
Boxes tự phát hiện file mới khi restart ứng dụng.
Giới hạn cần biết trước khi commit dùng lâu dài
Homelab của mình chạy Proxmox VE với 12 VM và container. Boxes vẫn có chỗ đứng trong workflow đó — những lần cần spin up VM test trong 3 phút mà không muốn vào Proxmox web UI. Nhưng đừng nhầm: Boxes và Proxmox giải quyết hai bài toán hoàn toàn khác nhau.
Nhưng phải thực tế về những gì Boxes không làm được:
- Không có snapshot UI: Phải dùng
qemu-img snapshottừ terminal - Không có bridged network: VM chỉ NAT, không có IP riêng trên LAN của bạn
- Không có USB passthrough: Cần virt-manager hoặc QEMU CLI
- Không có multiple NIC: Chỉ 1 card mạng mặc định
- Không tune performance: Không cấu hình CPU pinning, hugepages, NUMA
Cần bất kỳ thứ gì trong danh sách trên? Chuyển sang virt-manager. Đừng cố hack Boxes để làm thứ nó không được thiết kế cho.
Tổng kết
GNOME Boxes là lựa chọn đúng khi cần “VM chạy được ngay” — không đọc documentation về libvirt lúc 2 giờ sáng, không cần hiểu storage pool là gì. Click 3 lần, VM chạy. Phù hợp để thử OS mới, test package trong môi trường sạch, demo nhanh cho đồng nghiệp.
Khi workload phức tạp hơn — network riêng, nhiều disk, cần snapshot thường xuyên — đó là lúc migrate sang virt-manager. Boxes làm tốt vai trò bước đầu tiên vào thế giới virtualization trên Linux desktop, và đó là đủ rồi.

