Freedom251 › Virtual Drive Software
libguestfs

What libguestfs is
libguestfs is a free library and toolset for viewing and changing virtual machine disk images. It can edit guest files, script VM changes, create or resize images, make backups, clone VMs, and build them. The project says it can access almost any disk image, including those from VMware and Hyper-V, and work with images created by VMware, KVM, qemu, VirtualBox, Xen, and other hypervisors without requiring libvirt. Its image formats include raw, qcow2, vmdk, vdi, vpc, and vhd. Command-line users can work with guestfish, a scriptable shell, or virt-rescue, an interactive rescue shell. The C library has bindings for many programming languages, with examples for 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 tools have been ported to Windows.
Who it suits
libguestfs suits developers and administrators who need to inspect or modify VM disk images, automate guest changes, or build and clone VMs. Its shell tools and language bindings support both command-line and programmatic workflows.
What it does well
- Free, open-source library and tools.
- Works with images from multiple hypervisors.
- Guestfish offers a scriptable shell.
- C bindings have examples in many languages.
- Usually accesses guest files as a non-root user.
What to know first
- Non-Linux systems may require compiling and porting.
- Only some virt tools have been ported to Windows.
Limits
The project says non-Linux systems require compiling from source and porting libguestfs. Some virt tools have been ported to Windows.
Plans
| Plan | Billed and limits | Price |
|---|---|---|
| libguestfs | Open source library and tools · source and binary downloads | Free |
| libguestfs open-source software | LGPLv2+ library · GPLv2+ programs · examples under permissive licence | Free |
As libguestfs.org lists them, read 29 Sept 2026. The maker's own page has the final word.
Getting started
- Visit https://libguestfs.org/ for the project and download options.
- Choose a source download or an installation command for Fedora, Red Hat Enterprise Linux, Debian, or Ubuntu.
- On Linux, install the package for your distribution or build from source.
- On non-Linux systems, compile from source and port libguestfs.
Overview
libguestfs is a library and toolset for working with virtual-machine disk images, rather than a general-purpose virtual-drive utility. It is best suited to developers and system administrators who need to inspect, change or automate guest images; its breadth is compelling, but non-Linux use can mean compiling and porting the software.
Key features
libguestfs handles guest-file inspection 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 disks made by VMware, KVM, qemu, VirtualBox and Xen. That range is useful for mixed-hypervisor workflows, and libvirt is not a prerequisite.
For command-line work, guestfish provides a scriptable shell and virt-rescue an interactive rescue shell. Developers can integrate the C library or use bindings and examples for C/C++, Erlang, Go, Java, Lua, OCaml, Perl, Python and Ruby. These interfaces make it a strong fit for repeatable operations and software integration; readers seeking a graphical, point-and-click workflow should look elsewhere.
Guest filesystems are accessed through a Linux kernel in a qemu virtual machine, usually running as a non-root user. With the libvirt backend, sVirt and SELinux can also be used. This is a useful isolation model for image work, though those additional protections depend on the backend and host setup.
Pricing
libguestfs is free: its free plan includes the open-source library and tools, with source and binary downloads. There is no free trial because the software is offered as a free plan. The project provides installation commands for Fedora, Red Hat Enterprise Linux, Debian and Ubuntu, alongside source downloads.
Platforms
Linux is the clearest fit: libguestfs runs on many Linux distributions. It also runs on Mac OS X, while some virt tools have been ported to Windows. Non-Linux systems may require compiling from source and porting libguestfs, so Windows or Mac users should allow for that extra work rather than assume a turnkey installation. It supports virtual disk files and optical image mounting.
Who it's for
Choose libguestfs if you need programmatic access to guest filesystems, command-line image maintenance, or automation across virtual-machine formats. Its library, language bindings and rescue shell serve developers and administrators with technical workflows. It is a weaker fit for users who want a conventional desktop mounting interface or an installation that needs no porting outside Linux.
Pros and cons
- Pros: Broad image-format and hypervisor compatibility makes it practical for varied VM environments.
- Pros: Scriptable, interactive and library interfaces support both operations work and integration.
- Pros: Guest access runs through a qemu virtual machine, usually as a non-root user, with optional sVirt and SELinux through libvirt.
- Cons: Non-Linux systems can require source compilation and porting, adding setup effort.
- Cons: Its shell and developer interfaces favor technical users over people looking for a graphical image-mounting tool.
Alternatives
For a wider range of virtual-drive options, browse Virtual Drive Software. Choose Arsenal Image Mounter if you want disk-image mounting with temporary write support, BitLocker tools, and CLI and PowerShell access; its free mode is available, with a 1 Year Plan at $907 a year. Choose ExpanDrive for cloud services and protocols across Linux, macOS and Windows, rather than libguestfs's VM-image focus. OSFClone is a free self-booting disk-imaging utility for Linux and Windows. RaiDrive offers a free Standard plan and an Education 2024 plan for accredited educational institutions. Alcohol 52% is a Windows option with a 15-day trial and a free edition. CDEmu is a free Linux optical-drive and disc emulator. DAEMON Tools Lite provides basic imaging functionality on Windows, with partner offers and limited support on its free plan. gBurner Virtual Drive is a free Windows utility supporting up to 16 virtual drives.
Verdict
Choose libguestfs for technical VM-image work when you value broad format support, automation interfaces and a free, open-source toolkit. Its main reason to look elsewhere is the setup burden outside Linux—or the absence of a graphical workflow for users who want straightforward desktop mounting.
Verdict
libguestfs offers a broad set of disk-image tasks, shell tools, and developer interfaces at no cost. Non-Linux users should note the possible need to compile and port it.
Questions
Is libguestfs free?
Yes. The listed plan is free, and the project offers an open-source library and tools.
Which virtual disk formats are listed?
The listed formats are raw, qcow2, vmdk, vdi, vpc, and vhd.
Does libguestfs require libvirt?
No. The FAQ says libvirt is not required.
Which systems does it support?
It runs on many Linux distributions and Mac OS X. Some virt tools have been ported to Windows.
How can I get help?
Users can ask on the libguestfs mailing list or the #guestfs IRC channel on Libera Chat. Red Hat Enterprise Linux customers are directed to Red Hat Support.
Facts from libguestfs's own pages
- API scope
- The API has more than one hundred low-level filesystem access and modification calls. · libguestfs.org, 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. · libguestfs.org, 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. · libguestfs.org, 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. · manpages.ubuntu.com, 15 Oct 2026
- Command line
- The functionality is available through guestfish, a scriptable shell, and virt-rescue, an interactive rescue shell. · libguestfs.org, 29 Sept 2026
- Debian architectures
- The Debian package page offers builds for amd64, arm64, armel, armhf, i386, mips64el, mipsel, ppc64el and s390x. · packages.debian.org, 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. · packages.debian.org, 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. · packages.debian.org, 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. · libguestfs.org, 29 Sept 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. · libguestfs.org, 29 Sept 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. · libguestfs.org, 15 Oct 2026
- Downloads
- The project provides source downloads and lists installation commands for Fedora, Red Hat Enterprise Linux, Debian, and Ubuntu. · libguestfs.org, 29 Sept 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. · packages.debian.org, 15 Oct 2026
- File transfer
- guestfs_download and guestfs_upload support files without content or size limits, while tar-based calls transfer multiple files. · libguestfs.org, 15 Oct 2026
- Founded
- 2009 · libguestfs.org, 28 Sept 2026
- FUSE availability limitation
- Local mounting requires FUSE and libfuse support at build time, and may fail with ENOTSUP when unavailable. · manpages.ubuntu.com, 15 Oct 2026
- FUSE mounting
- The FUSE module can mount guest filesystems on the host. · libguestfs.org, 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. · manpages.ubuntu.com, 15 Oct 2026
- Guestfish
- guestfish is the scriptable shell interface to the libguestfs API. · libguestfs.org, 15 Oct 2026
- Image access
- The homepage says libguestfs can access almost any disk image, including proprietary VMware and Hyper-V images. · libguestfs.org, 15 Oct 2026
- Image compatibility
- The project says it can access almost any disk image, including images from VMware and Hyper-V. · libguestfs.org, 29 Sept 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. · libguestfs.org, 29 Sept 2026
- Language support
- The project describes a C library linkable from C and C++ and bindings for about a dozen other languages. · libguestfs.org, 15 Oct 2026
- Limit
- The FAQ says non-Linux systems require compiling from source and porting libguestfs. · libguestfs.org, 29 Sept 2026
Where libguestfs stands on Freedom251
- Virtual Drive Software#1 of 24