I will left these thoughts stew and update the Tutorial in a few weeks. In the meantime I will answer your specific Qs
chronoboy wrote:A small question, if you change the type of VDI from normal to writethrough, does this cause any complications within the actual VDI format and image data? When the VDI is created from scratch in either normal or writethrough, are the internals and how data is stored different?
Clearly to change the type you need to unregister then reregister the VDI. This means that you have first to discard / merge in your snapshots. The writethrough has a different value in the type field in the header, that's all. However once flagged as writethrough, the VDI are treated differently w.r.t. snapshotting as described in the tutorial.
chronoboy wrote:Is there a way to convert a flat file disk image into a VDI and vise versa? A flat file in this case would be dd dumped hard disc.
You can use the
createrawvmdk command as described in the manual to map raw partitions. Booting from a clonezilla liveCD allows you to do partition copies: raw->VDI, VDI->raw, VMDK->VDI, etc.
chronoboy wrote:Are there plans for VirtualBox to support gzipped or even ZIPed immutable VDIs?
I don't think so, but writing this driver is less than a week's development. Maybe I'll get around to it one day. How are your C++ skills?
chronoboy wrote:Do VDIs contain a checksum of the data image? If not, is there plans to add this in the future? The checksum would only generate when powering off the VM or saving a state.
No. This a "render until Caesar" sort of issue. Decent file systems contain a level of jounalling. The H/W embeds CRCs. Adding this at this layer would have a major performance impact for little real functional benefit.
chronoboy wrote:Are there plans for sparse VDI images which take full advantage of ext3 and NTFS sparse files?
I am not part of the VBox project team, just a supporter like yourself so I am guessing, but I doubt it. The VDI page algo gives a level of sparse mapping that is portable across file systems. In practice the NTFS and ext3 sparse formats add little and the implementation is file system specific.
chronoboy wrote:Are there any plans for a tool which makes VDI splitting easy and simple? VMWare has something similar, which can split vmdks into 2GB chunks. A splitting tool would make it easier to back-up VDIs on fat32 partitions or external fat32 drives.
Most of the zip utilities include an option to split the compressed file into 2Gb chunks, so this one isn't worth it, but writing a standalone disk utility for format conversion, etc. is.