Nonsense. Standard vs Fixed is your own straw man, there is no such choice given in the manual. Standard vs <Custom> is the true choice, just like it is (for example) with any application installer.
Not sure what manual you're looking at. Here's vbox/ch08.html:
This command creates a new virtual hard disk image. The syntax is as follows:
VBoxManage createhd --filename <filename> --size <megabytes>
[--format VDI|VMDK|VHD] (default: VDI)
[--variant Standard,Fixed,Split2G,Stream,ESX]
where the parameters mean:
filename
Allows to choose a file name. Mandatory.
size
Allows to define the image capacity, in 1 MiB units. Mandatory.
format
Allows to choose a file format for the output file different from the file format of the input file.
variant
Allows to choose a file format variant for the output file. It is a comma-separated list of variant flags. Not all combinations are supported, and specifying inconsistent flags will result in an error message.
There it is: "Standard,Fixed". I don't see "Standard|<Custom>" anywhere, but maybe you can provide me a link to the manual you're referring to. The term 'Standard' is about as vague a choice as you could make. In the manual's overview of Virtual Storage (Chapter 5), the reference is to 'fixed' & 'dynamic':
Irrespective of the disk capacity and format, as briefly mentioned in the section called “Creating your first virtual machine”, there are two options of how to create a disk image: fixed-size or dynamically allocated.
The consistent use of terminology is what I would call "Technical Writing 101", absolutely essential if it is to serve it's purpose. A statement like the following:
Choosing a custom mode is a declaration by you that your knowledge is superior to that encapsulated in the wizard: and if it isn't then you only have yourself to blame for taking that road.
...is a classic example of what I would call "sophomoric hacker arrogance". '...encapsulated in the wizard'? Wizards are for people who don't want to read reference manuals -- completely irrelevant to this thread. The guy had a simple question: what do the words referenced under '--variant' mean. He couldn't find it documented anywhere, and neither could I. I finally got the answer simply by making one...but why not just call it what it is: 'Dynamic'? Problem solved, no need for this thread.
A well organized, consistent and comprehensive reference manual is essential for serious application development using a product as complex as Virtualbox. In this case, a mature designer would likely have adopted an established CLI convention, such as the one used by the mkfs command:
mkfs [-V] [-t fstype] [fs-options] filesys [blocks]
for example:
createhd [--type Dynamic(default)|Fixed] [--variant VMDK <optionlist>]
Given the earlier reference in Chapter 5, most people wouldn't need to consult the docs to know how to use the command.
Yes, at the cost of potentially fragmenting every other file you subsequently write to that drive, due to increased congestion. People who use this technique will often unconsciously limit the size of the drive too, therefore causing congestion and fragmentation inside the guest.
Of course you're making the broad assumption that you know how a given user intends to utilize a very large partition with potentially large numbers of reusable guests. If the context is well-defined (virtual desktops for a hospital as an example) dynamic allocation could become a nightmare with potentially hundreds of vms, all of which could be quite comfortably configured with a standard fixed-length 6GB .vdi.
Really, what's the big deal? If you have an actual fragmentation problem then run a defragger overnight. End of story. Hogging 30GB of disk space for a file that only really needs 4GB is definitely not IMHO a "prudent" use of resources.
Maybe you're unfamiliar with the NTFS format, but cluster allocation is based on the size of the request, and that .vdi could be severely fragmented as it grows (unless Virtualbox supports an NTFS specific handler capable of managing how NTFS allocates space...does it?). Theres a very reasonable argument for pre-allocating fixed storage if it's necessary to put virtual volumes on NTFS (or any other filesystem for that matter). It all depends on how the guest OS's are intended to be used.
More to the point: your statement "
If you have an actual fragmentation problem, then run a defragger overnight. End of story.", is once again, arrogant and sophomoric. It suggests you have no experience whatsoever with enterprise-level system planning or real-world business applications. Defragmenting an NTFS volume is non-trivial, depending upon the number of fixed system-related objects which cannot be relocated. There are tools that can fully defragment and optimize an NTFS volume, but the process can take a long time, and believe it or not, there are businesses who may want to operate arrays of virtual machines 24x7.
The Open Source non-Windows software community has suffered for years from so-called support forums populated by (and moderated by) people who are more concerned about demonstrating how "smart" they are, than helping people succeed in using whatever application the forum is supposed to support. I've been watching the development of Virtualbox for a number of years, and it is finally reaching the point where it is being considered for adoption by mainstream business enterprises. Next to providing thorough, well-organized reference docs, operating forums which encourage the success of people who seek out help is a far more productive policy than trying to find ways to make them feel stupid.