What's the purpose of the "Capacity" selection in the "Format Volume" dialog?

When formatting a floppy, I expect the same dialog to give a choice:

  • 3.5'', 1.44MB, 512 bytes/sector
  • 3.5'', 720KB, 512 bytes/sector

Currently I have no access to a floppy drive to confirm this, but on this page there is a picture that shows a "Format A:\" window with these options. It comes from a time when "formatting" would actually initialize the physical structure of the medium – not just write some data for creating a filesystem.

enter image description here

Source: http://www.buildorbuy.org/images/floppywin2.png

It's possible other media (nowadays uncommon media) provide more than one option as well.


The Windows "Format" dialog conflates three completely different concepts:

  • Formatting a medium, which means create or change the physical structure of the medium, i.e. the width and number of tracks, the size of sectors or blocks, and so on. E.g. the same 3.5" floppy disk can be formatted in "Standard Density" (720 ko double-sided) or "High Density" (1.44 Mo double-sided), the difference is in how close together the tracks are spaced.
  • Partitioning a medium, which means create or change some sort of "database" which separates the disk into multiple distinct areas. One of the simplest of those "databases" is the BIOS Partition Table Format, which is only 64 octets big and can only describe up to 4 partitions (although one or more of those partitions can be marked as "Extended Partitions", which means that they contain another Partition Table, which in turn can describe up to 4 partitions; by linking enough of those tables, you can describe an arbitrary number of partitions). A more complex format is the proprietary Windows Logical Disk Manager Format, whose internal structure actually does look like a database, it even has transactions and journaling to prevent data loss and corruption.
  • Creating a filesystem, which means … well, exactly what it says.

The difference between the three is much more pronounced on other operating systems, e.g. Unix: Formatting is usually done with device-specific specialized tools for the specific hardware, e.g. sg3_format for disks implementing the SCSI Command Set, which sends a SCSI FORMAT UNIT command to the target. Partitioning is usually done with partitioning tools such as fdisk, sfdisk, parted, or gparted. Creating a filesystem is usually done with tools named mkfs.<name of filesystem>, e.g. mkfs.ext3, mkfs.ntfs, and so on.

Depending on the device, and the current state of the device, Windows' "Format" dialog will either create a filesystem or first partition the medium and then create a filesystem. In fact, one thing the "Format" dialog will almost never do, is actually "Format". The reason is simply that most modern devices cannot be formatted in-situ. The physical structure of a flash device is given by its internal organization. The physical structure of hard disks is so close to the edges of what is currently possible that the drive itself is not precise enough to write the tracks. The tracks can only be written by specialized hardware in the factory. The density is just too high, the tracks are too small and too close together to be written by the drive itself; it can only find where they are if they are already there, but it cannot write them.

So, considering that most devices cannot be formatted and thus the "Format" dialog cannot change their capacity, the dropdown may indeed look strange. But if a device could be formatted, then this dropdown would show the different possible capacities.

Note that a couple of years ago, when the changeover from 512 octet sectors to 4096 octet sectors happened, some drives did allow a limited form of "formatting", namely changing the sector size. However, this would typically not change the capacity, only the granularity of access.