libguestfs

tools for accessing and modifying virtual machine disk images

Mailing list and chat Join us on the libguestfs mailing list, or on IRC channel #libguestfs on FreeNode.

Git repository git clone git://github.com/libguestfs/libguestfs.git

Latest development version: 1.41.5 (released 2019-10-08).

Stable branches: 1.40.x, 1.38.x 1.36.x

libguestfs is a set of tools for accessing and modifying virtual machine (VM) disk images. You can use this for viewing and editing files inside guests, scripting changes to VMs, monitoring disk used/free statistics, creating guests, P2V, V2V, performing backups, cloning VMs, building VMs, formatting disks, resizing disks, and much more.

libguestfs can access almost any disk image imaginable. It can do it securely — without needing root and with multiple layers of defence against rogue disk images. It can access disk images on remote machines or on CDs/USB sticks. It can access proprietary systems like VMware and Hyper-V.

All this functionality is available through a scriptable shell called guestfish, or an interactive rescue shell virt-rescue.

libguestfs is a C library that can be linked with C and C++ management programs and has bindings for about a dozen other programming languages. Using our FUSE module you can also mount guest filesystems on the host.

The hivex subproject lets you merge changes into the Windows Registry in Windows guests. You can examine unknown disk images to find out what they contain.

libguestfs has been in continuous development since 2009, with a 250 page manual, deployed in enterprise environments, and with many happy and successful users.

Dozens of projects are using libguestfs today.

Latest blog entries

Subscribe to RSS headline updates from:

Powered by FeedBurner

Getting started

sudo yum install libguestfs-tools # Fedora/RHEL/CentOS sudo apt-get install libguestfs-tools # Debian/Ubuntu guestfish --ro -i -a disk.img

For examples using guestfish and other tools see the recipes page. For other examples see these blog entries.