0

Screenshot:

File properties of file that takes up 2MB of disk space for 1 byte of data:

enter image description here

The drive is a 6TB single partition, mounted via Veracrypt and formatted as exFAT. The sector size on my 2TB volume, formatted and mounted the same way, is 512KB-- also large, but not quite as ridiculous (shouldn't it be 512 bytes?).

Why in the world is the sector size a whopping 2MB here? Since it's an advanced format drive, shouldn't it be 4KB?

The drives were formatted using Veracrypt; there was no option to specify sector size that I recall there is a cluster size option, but it maxes out at 64KB for exFAT. The 6TB drives and all their data are about to be moved to a RAIDZ2 ZFS array, so I don't necessarily need to fix this directly, but I really want to know how/why this happened.

  • Are you sure you’re not confusing IO block size and “cluster size”, a filesystem property? exFAT supports very larger clusters. You can check using diskpart’s filesystems command after selecting the volume. – Daniel B Nov 29 '17 at 19:56
  • It's quite possible I am. However, the mounted Veracrypt volumes do not appear in diskpart, just the "RAW" disks/volumes. – J.D. Mallen Nov 29 '17 at 20:07
  • What is content of the .text file – Dave Nov 29 '17 at 20:07
  • The single letter 'a'. – J.D. Mallen Nov 29 '17 at 20:08
  • I don't know about the implementation details, but crypto-hashing a zero-length string is going to have an output that is the same length as an input that is at the input-string-size limit. In addition, the size on disk is probably an information leak, and I suspect that what is happening is that the reported size includes bytes shared by other encrypted files/blocks/padding. Kind of like an archive file, only lower level. – Yorik Nov 29 '17 at 21:28
3

Well I can confirm that exFAT on a 6 TB volume defaults to 2 MiB clusters on Windows 10. If I explicitly select 64 KiB, it uses that though. 64 KiB is also the maximum size Disk Management has in its dropdown list.

Incidentally, Microsoft has an article on default cluster sizes for various filesystems and Windows version. Unfortunately, it does not include the exFAT/Windows 10 combination, for whatever reason.

Experimentally, I determined the following defaults:

Volume size   Cluster size
  500 GiB          128 KiB
 1000 GiB          256 KiB
 1500 GiB          512 KiB
 2000 GiB          512 KiB
 3000 GiB            1 MiB
 4000 GiB            1 MiB
 5000 GiB            2 MiB
 8000 GiB            2 MiB
10000 GiB            4 MiB
20000 GiB            8 MiB

Those are just samples, I didn’t bother checking the actual ranges. The pattern is quite clear though. It switches at powers of two, ie. 512 GiB, 1 TiB, 2 TiB, 4, TiB, 8 TiB, 16 TiB, ...

It’s basically

(volume size “step”) / (221)

Or, more colloquially: Divide by two, go two SI suffixes lower. 16 TiB → 8 TiB → 8 MiB.

  • Maximum. Just as mentioned in the question. – Daniel B Nov 30 '17 at 22:10
  • It's the largest value in the dropdown list. That doesn't make it a technical limitation. Using diskpart, you can select all possible values. – Daniel B Nov 30 '17 at 22:37
  • Alright, I now understand what you meant. – Ramhound Dec 1 '17 at 0:02
  • That's surprising! But thank you for the answer and looking into it. I'll be careful not to just go with the default next time. – J.D. Mallen Dec 4 '17 at 3:27
  • just found this out myself as well. 2MiB cluster size...I was getting gigabytes of wasted space for just 30MB of small files. Absolutely insane, wonder why Microsoft thought this was a good idea – woojoo666 Sep 16 '18 at 9:27

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.