exFAT quirks
Posted: Sun Nov 06, 2016 3:37 pm
exFAT quirks:
- Windows will only mount the flash drive if the volume length in the boot sector matches the physical volume size unless the drive is partitioned.
- Windows will mount the image/drive as read only if it only has a minimal upcase table (the first 128 ASCII UNICODE characters).
- The eight extended boot sectors (for additional boot sector code) each require a 0xAA55 signature which means that the 4K of extra code cannot
be contiguous and will require some extra work in placing and jumping around the signatures. Without the signatures the image/drive is perfectly usable,
however "chkdsk" reports that the boot information is corrupt and cannot continue. - There are no "reserved sectors" (like ext2) in the volume. The alignment before the file allocation table and data region are mandatory (which can be
zero in size) and the contents if any are undefined, which means that an implementation may modify as them necessary - rendering them useless for such
purposes. - The wide character Unicode (16 bit) upcase table is compressed, however the specification shows as an example the compression (a simple RLE) of
the minimal ascii Unicode upcase table which is not compressed in the upcase table as formatted by Windows. - A script is required to process the boot sector (and the additional boot sector code) to provide a checksum as well as a duplicate set of the first 12
sectors. FASM has the capabilities to do this.