[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.
Klaus
>
> Kind regards,
>
> Frank
More information about the vbox-dev
mailing list