libguestfs
libguestfs is a free library and toolset for accessing and modifying virtual machine disk images.
What libguestfs is
libguestfs is a free library and toolset for accessing and modifying virtual machine disk images. It can view and edit guest files, script changes to VMs, create or resize images, make backups, clone machines and build VMs. The project says it can work with almost any disk image, including VMware and Hyper-V images, and with images created by VMware, KVM, qemu, VirtualBox, Xen and other hypervisors; libvirt is not required. Command-line users can use guestfish, a scriptable shell, or virt-rescue, an interactive rescue shell. The C library has bindings for many programming languages, with examples in C/C++, Erlang, Go, Java, Lua, OCaml, Perl, Python and Ruby. Guest filesystems are accessed through a Linux kernel in a qemu virtual machine, usually as a non-root user; sVirt with libvirt and SELinux can also be used. It runs on many Linux distributions and Mac OS X, while some virt tools have been ported to Windows. Non-Linux systems may require compiling from source and porting.
Good
- Free open-source library and tools.
- Supports raw, qcow2, vmdk, vdi, vpc and vhd.
- Works with images from several hypervisors without libvirt.
- Includes scriptable and interactive command-line shells.
- C bindings and examples cover many languages.
Watch out
- Non-Linux systems may require source compilation and porting.
- Windows support is limited to some virt tools being ported.
Who it suits
It suits developers and administrators who need to inspect or change virtual machine disk images, automate VM edits or build image-management workflows. Users on non-Linux systems should account for the need to compile from source and port it.
Verdict
libguestfs offers a broad set of disk-image tasks through both command-line tools and a library. It is a fit for technical workflows, with extra setup likely on non-Linux systems.
Plans and prices
From libguestfs's own pricing page, checked 29 Sep 2026.
| Plan | Price | What it gives you |
|---|---|---|
| libguestfs | Free | Open source library and tools · source and binary downloads |
| libguestfs open-source software | Free | LGPLv2+ library · GPLv2+ programs · examples under permissive licence |
The facts
Each one read from libguestfs's own pages, with the date it was checked.
What it does
- API scope
- The API has more than one hundred low-level filesystem access and modification calls.checked 15 Oct 2026
- Architecture
- libguestfs launches a small QEMU appliance containing a Linux kernel, userspace tools and guestfsd, communicating with the host library over RPC.checked 15 Oct 2026
- Build requirements
- Building from source requires QEMU at least 7.2.0, qemu-img at least 7.2.0, a kernel at least 2.6.34, supermin at least 5.1.18, a C compiler, Perl and OCaml at least 4.08.checked 15 Oct 2026
- Command execution limitation
- Commands run inside guests have limited memory, may lack networking, work only with Linux guests and are unsafe for untrusted or malicious guests.checked 15 Oct 2026
- Command line
- The functionality is available through guestfish, a scriptable shell, and virt-rescue, an interactive rescue shell.checked 29 Sep 2026
- Debian architectures
- The Debian package page offers builds for amd64, arm64, armel, armhf, i386, mips64el, mipsel, ppc64el and s390x.checked 15 Oct 2026
- Debian-described capabilities
- Debian describes batch guest configuration, file editing, disk statistics, virtualization migration, partial backups, cloning and registry, UUID and hostname changes.checked 15 Oct 2026
- Debian package availability
- Debian bookworm provides libguestfs0 version 1:1.48.6-2 and separate packages for tools, rescue support and language bindings.checked 15 Oct 2026
- Developer interfaces
- libguestfs is a C library with bindings for many programming languages, and the site provides examples for C/C++, Erlang, Go, Java, Lua, OCaml, Perl, Python, and Ruby.checked 29 Sep 2026
- Disk image tasks
- It can view and edit guest files, script VM changes, create and resize images, perform backups, clone VMs, and build VMs.checked 29 Sep 2026
- Documentation depth
- The homepage advertises a roughly 250-page manual, and the documentation set includes API, FAQ, recipes, performance, building, hacking, internals, testing and security manuals.checked 15 Oct 2026
- Downloads
- The project provides source downloads and lists installation commands for Fedora, Red Hat Enterprise Linux, Debian, and Ubuntu.checked 29 Sep 2026
- Filesystem coverage
- Debian lists support through Linux and QEMU for ext2/3/4, btrfs, FAT, NTFS, LVM, multiple partition schemes, qcow/qcow2 and VMDK.checked 15 Oct 2026
- File transfer
- guestfs_download and guestfs_upload support files without content or size limits, while tar-based calls transfer multiple files.checked 15 Oct 2026
- FUSE availability limitation
- Local mounting requires FUSE and libfuse support at build time, and may fail with ENOTSUP when unavailable.checked 15 Oct 2026
- FUSE mounting
- The FUSE module can mount guest filesystems on the host.checked 15 Oct 2026
- FUSE performance limitation
- The API manual says local FUSE mounting performs poorly and recommends ordinary libguestfs calls or streaming transfers for better performance.checked 15 Oct 2026
- Guestfish
- guestfish is the scriptable shell interface to the libguestfs API.checked 15 Oct 2026
- Image access
- The homepage says libguestfs can access almost any disk image, including proprietary VMware and Hyper-V images.checked 15 Oct 2026
- Image compatibility
- The project says it can access almost any disk image, including images from VMware and Hyper-V.checked 29 Sep 2026
- Integration
- The FAQ says libvirt is not required and libguestfs works with disk images created by VMware, KVM, qemu, VirtualBox, Xen, and other hypervisors.checked 29 Sep 2026
- Language support
- The project describes a C library linkable from C and C++ and bindings for about a dozen other languages.checked 15 Oct 2026
- Limit
- The FAQ says non-Linux systems require compiling from source and porting libguestfs.checked 29 Sep 2026
The company
- Founded
- 2009checked 28 Sep 2026
The full review of libguestfs
Overview
libguestfs is an open-source toolkit for working with virtual-machine disk images, combining a C library with command-line utilities. It is best suited to developers and administrators who need to inspect or change guest filesystems, automate image operations, or recover a VM; its breadth is valuable, but non-Linux setup can take additional work.
Key features
The toolset handles guest-file viewing and editing, scripted VM changes, image creation and resizing, backups, cloning, and VM builds. It supports raw, qcow2, vmdk, vdi, vpc, and vhd images, including images made by VMware, KVM, qemu, VirtualBox, and Xen. That makes it useful in mixed-hypervisor environments, and libvirt is not a prerequisite. Optical image mounting is also supported.
Guestfish provides a scriptable shell for repeatable operations; virt-rescue offers an interactive rescue shell. Developers can use the C library and examples for C/C++, Erlang, Go, Java, Lua, OCaml, Perl, Python, and Ruby. This range suits teams integrating image work into scripts or existing software, though the command-line and programming interfaces are less appropriate for users seeking a graphical disk-management workflow.
For isolation, libguestfs accesses guest filesystems through a Linux kernel running in a qemu virtual machine, usually as a non-root user. With the libvirt backend, it can also use sVirt and SELinux. This is a considered design for filesystem access, but the additional protections depend on the backend and host security setup.
Pricing
libguestfs is free and open source. The free plan costs nothing and includes the library and tools, with source and binary downloads; there is no free trial because the software is free to use. There are no paid tiers or seat and quota limits described. This is the straightforward choice for individual and organizational VM-image workflows that can accommodate its technical setup.
Platforms
libguestfs runs on many Linux distributions and Mac OS X, with some virt tools ported to Windows. Source downloads and installation commands are provided for Fedora, Red Hat Enterprise Linux, Debian, and Ubuntu. Linux is the most direct fit; on non-Linux systems, compilation from source and porting may be required, so Windows support should not be assumed to cover the complete toolkit.
Who it's for
Choose libguestfs when your work involves VM disk images rather than general-purpose virtual drives: it combines broad image compatibility, low-level file operations, rescue tools, and programmable interfaces without requiring libvirt. It is less suitable for people who want a desktop-first mounting utility or turnkey Windows workflow. Users can seek help through the libguestfs mailing list or #guestfs on Libera Chat; Red Hat Enterprise Linux customers can contact Red Hat Support.
Pros and cons
- Broad image and hypervisor coverage: support for six named formats and images from several hypervisors helps with heterogeneous VM estates.
- Several automation paths: a C library, language examples, and guestfish make it adaptable to scripted and integrated workflows.
- Isolation-oriented access: guest filesystems are accessed through a qemu VM kernel, usually without root privileges.
- Non-Linux friction: compiling from source and porting can make Mac and Windows use more involved than Linux deployment.
- Technical interface: the documented workflows center on libraries and shells, not a graphical management interface.
Alternatives
For a broader directory of virtual-drive utilities, browse Virtual Drive Software.
Pick Arsenal Image Mounter if Linux or Windows support and disk-image mounting with temporary write support, BitLocker tools, and CLI or PowerShell matter more than libguestfs's VM-focused library and image operations.
ExpanDrive is a free-plan option for personal use across Linux, macOS, and Windows, with cloud services and protocols rather than libguestfs's guest-disk toolkit.
RaiDrive offers a free Standard plan and an education plan for accredited institutions with eight drives; consider it when those drive-oriented options fit better than VM-image editing.
OSFClone is a free self-booting disk-imaging utility for Linux and Windows, and may suit bootable imaging work better than a library for VM disk access.
Alcohol 52% is a Windows alternative with a 15-day trial and a free edition; choose it when its Windows-focused offering fits your needs better.
DAEMON Tools Lite has a free tier for basic imaging with partner offers and limited support, plus a lifetime personal plan; it is an option for Windows imaging rather than VM image automation.
ImgDrive is a free-for-personal-use Windows alternative to consider for a Windows-specific workflow.
VHD Attach is a free Windows utility for Windows 7 and Windows Server 2008 R2 and later.
Verdict
libguestfs is a strong choice for developers and administrators who need flexible, scriptable access to VM disk images across formats and hypervisors. Its free library and useful rescue tools are the main reasons to choose it; look elsewhere if you need a polished graphical interface or a complete, low-effort non-Linux installation.
Getting started
- Visit the libguestfs website.
- Download the source or use the listed installation commands for Fedora, Red Hat Enterprise Linux, Debian, or Ubuntu.
- Use guestfish for scriptable shell access or virt-rescue for an interactive rescue shell.
- Use the C library and its language bindings to integrate disk operations into software.
Questions
How much does libguestfs cost?
The listed plan is free at no cost.
Which systems does it support?
It runs on many Linux distributions and Mac OS X. Some virt tools have been ported to Windows.
Does it require libvirt?
No. The FAQ says libguestfs works with disk images from several hypervisors without requiring libvirt.
Which disk images can it handle?
The project says it can access almost any disk image, including images from VMware and Hyper-V. Listed formats include raw, qcow2, vmdk, vdi, vpc, and vhd.
What interfaces does it provide?
It includes the guestfish scriptable shell, the virt-rescue interactive shell, and a C library with bindings for many languages.
Who makes libguestfs?
The GitHub repository copyright notice names Red Hat Inc.
Alternatives to libguestfs
- 1

DAEMON Tools Lite
Free planAndroidiOSmacOSWindows8.0$3 one-time - 2

RaiDrive
Free planLinuxWindows7.4Free plan - 3
Alcohol 52%
Free planWindows7.3$27 one-time - 4
NetDrive
AndroidiOSmacOSWindows7.0From $29.90 a year - 5

ExpanDrive
Free planLinuxmacOSWindows6.8From $29 a month - 6
Arsenal Image Mounter
Free planLinuxWindows6.7Free plan
