libguestfs, tools for accessing and modifying virtual machine disk imagesLatest development version: 1.7.6 (released 2010-11-13).
Current stable series: 1.6.x.
Previous stable series: 1.4.x, 1.2.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, P2V, V2V, performing partial backups, cloning VMs, and much else besides.
libguestfs can access nearly any type of filesystem including: all known types of Linux filesystem (ext2/3/4, XFS, btrfs etc), any Windows filesystem (VFAT and NTFS), any Mac OS X and BSD filesystems, LVM2 volume management, MBR and GPT disk partitions, raw disks, qcow2, VirtualBox VDI, VMWare VMDK, CD and DVD ISOs, SD cards, and dozens more. libguestfs doesn't need root permissions.
libguestfs is also a library that can be linked with C and C++ management programs and has bindings for Perl, Python, Ruby, Java, OCaml, PHP, Haskell and C#. You can also use it from shell scripts or the command line. Using our FUSE module you can also mount guest filesystems on the host. There is a subproject to allow you to merge changes into the Windows Registry in Windows guests. You can examine unknown disk images to find out what they contain.
libguestfs is a mature program, in development since Feb 2009, with a 150 page manual, deployed in enterprise environments, and with many successful users.Go there...