[vbox-dev] About .SAV file created by snapshots

Klaus Espenlaub klaus.espenlaub at oracle.com
Thu Oct 11 09:03:05 PDT 2012

On 11.10.2012 09:37, Frank Mehnert wrote:
> Prabhjeet,
> On Thursday 11 October 2012 07:32:31 prabhjeet kaur wrote:
>> How one can read the .SAV file created by snapshots. In which form
>> snapshots save the details regarding difference from the last snapshot,
>> memory details, etc... Where the API of snapshot is available.
> a .sav file contains always the *complete* state of the guest at a certain
> point in time. It does *not* contain any information stored on external
> devices like virtual disks. When a snapshot is created, a .sav file is
> created containing the VM state which is required to restore the guest
> state for that time and a new differential disk image is created for each
> virtual disk (which is not attached in some special mode to prevent that).
>  From now on, guest disk write requests go to the differential image. When
> you restore a snapshat, the differential image is removed so all changes
> to the disk after the snapshot was created are lost.
> A .sav file is created using the SSM (saved state manager) code. You will
> find the API in include/VBox/vmm/ssm.h and src/VBox/VMM/VMMR3/SSM.cpp.

I read between the lines that the original poster might want to dissect 
the contents of a .sav file, and while that's possible in principle 
using SMM there is a lot of information in it which exists in various 
formats (identified by the version of the particular unit), and the code 
to interpret the meaning is spread around a lot. Every entity (device 
emulation etc etc) which needs to save some state is just responsible 
for itself. So the code using SSM is not centralized.

So I wouldn't recommend spending time on extracting information from 
saved state files. They are designed to do be used just internally to 
retain the necessary information.


> Kind regards,
> Frank

More information about the vbox-dev mailing list