Please use the "Quote" feature, it provides visual cues which make it easier to read your responses.
In direct answer to your original question, the user manual tells you how to create a fixed size HDD clone: "VBoxManage clonehd <srcfile.vdi> <dstfile.vdi> --variant Fixed". Make sure you have plenty of disk space.
mpack wrote:That makes no sense. The guest has no way to detect the difference between a fixed vs dynamic disk
Why would the guest be detecting the difference? My comment was that the dynamic expansion failed to operate properly, and I guessed that it was caused by the use of DOS.
If a guest behaved differently with fixed vs dynamic VDI then that would imply that, however indirectly, it is able to detect the difference between those two formats. Since that ability is definitely not possible (for technical reasons I won't get into here), it means that the unwanted behaviour you see cannot
be caused by this difference.
mpack wrote:More likely is that you made the maximum drive size too small (dynamic drive files grow to a maximum size selected at creation time, and will not grow above that size limit).
The maximum drive size was 35Gbytes, and it stopped expanding at 9.7Gbytes or thereabouts
Then you tell me! The application is telling you it ran out of disk space in the guest filesystem. That usually means that the partition is too small (the only other time it happens is with the FAT32 issue I mentioned). If you already expanded the drive size, did you also remember to expand the partition?
I think you have a misunderstanding about dynamic disks. They are not "dynamically expanding" in the sense that you seem to expect - no guest OS I know of has support for disk drives or partitions that change dynamically in apparant size. A dynamic disk is instead "dynamically allocated"; meaning that to the guest it's a fixed size disk as always (which is one reason why it can't tell the difference between dynamic vs fixed), but host space for each 1MB block of the disk is only allocated when that block is first written to by the guest. There is no corresponding shrinkage feature - the disk can only grow on demand until all blocks are allocated, then it's the same as a fixed VDI. In other words the only difference between fixed and dynamic is that the former has all of its blocks allocated at creation time, the latter allocates each block on demand. Both drives have the same number of blocks, i.e. the same capacity, hence both will run out of space at the same time as far as the guest OS is concerned. If the host
ran out of space first then the guest would see a write error, not an "out of space" error.