Dirk_Lehmann wrote:Is mpack answer official statement to this issue by oracle company?
No answer received on this site is an "official answer", even if the person saying it is an Oracle employee. Which I'm not. I believe I am however considered knowledgeable on the subject of virtual disk formats.
The problem here is that you do not know what a snapshot is. It is not a file cabinet for disk files which takes over when you "close" the first cabinet - which is how a lot of people seem to think about it.
A snapshot is just a list of patches, but it works at the disk
sector level, not the file level. VirtualBox knows nothing about guest files. I.e. you can think of it as a list of instructions of the form "replace sector 123 (from the parent image) with this data: [...]. If you don't have the parent medium then then list of patches is nearly useless. Now it's true, if you happened to have a snapshot that patched
every sector of the parent, and if you were a computer programmer who could tailor some software to stop looking for a parent, then you could probably recover a drive image. However the facts are that the filesystem on the drive never needs to be totally rewritten so the snapshot will be lacking that, so the reconstituted image would be lacking a file system. It would just be a random scatter of not quite zero sectors. Plus you probably
aren't a programmer, and finding one to hire who knows anything about this stuff would be (a) difficult, and (b) disappointing, since he'll just tell you the same as I did.
Edit: Actually I just thought of a way for a non-programmer to do the work, which is to create a new base image of the correct size, and then hook up the UUID links from child to parent. The fact that you chose the non-standard VMDK format may complicate this, and I'll emphasize that all this will do is give you the aforementioned disk image with no filesystem. You have no hope of booting from this or even mounting it in a guest OS. At best it could be scanned for data scraps. Files smaller than 32KB (which from memory is the default grain size in VMDK) might be found this way. |