For what's it worth checkmbr.rex can now handle EXFAT partitions. Partition type 07h is still tagged as NTFS, but the reported details now match EXFAT if applicable. Example:
CHS 0 0 1 at 0, end 0 158 47, size 10000 hidden or total sectors 63 10000 do not match 0 10000 boot CHS 0 0 1 at 0, end 0 0 12, size 12 backup CHS 0 0 13 at 12, end 0 0 24, size 12 boot rest CHS 0 0 25 at 24, end 0 2 2, size 104 boot EXFAT CHS 0 2 3 at 128, end 0 2 18, size 16 #1 unused CHS 0 2 19 at 144, end 0 4 4, size 112 data CHS 0 4 5 at 256, end 0 158 46, size 9744 [6722-4357] (cluster size 8, number 1218) total 10000
The Windows 7 FORMAT /FS:exFAT
tool used an obscure number 63 for the hidden sectors in this unpartitioned VFD image also known as superfloppy, and checkmbr.rex dutifully reports that 63 is not 0. As long as you don't try to boot from a superfloppy or ordinary partition these hidden sectors are irrelevant.
It is interesting to see that FORMAT
reserved 128=2×12+104 sectors for the 2×12 boot sectors. Most of the 12 boot sectors are already unused, and the boot checksum sector with 128 copies of the same 32bits checksum is hilarious. So what is the idea of the 104 additional sectors?
While at it Microsoft decided that two "FAT" copies are for cowards, and creates only one "FAT". It is not really a FAT, EXFAT uses a bit map for allocations, the "FAT" is only used for purposes where a bit is not good enough, i.e., bad clusters or fragmented cluster chains. And after saving 16 sectors for a second FAT there is another set of 112 apparently unused sectors, 128=16+112.
I'd get the idea if subsections of the system area are padded to max(4096/SS,CS)
sectors: At some point in time we'll want to use 512e aligned to physical sector size 4096. But for that 56=2×12+2×16 instead of 256=2×128 would be good enough. For one FAT there are apparently 216=104+112 unused sectors, and instead of 1218 there could be 1235=1218+27 clusters (27=216/8).
SANS published a brilliant reverse engineering paper about EXFAT, but I'm not yet ready to outsmart FORMAT /FS:exFAT
. Remotely related, checkmbr survived the forensic extended partition test case with two primary partitions in an extended partition. And I've fixed the output for zero FAT12 clusters. ToDo: checkmbr should report that 6 of the 16 FAT sectors are overkill for 1218 clusters, after all it does this already for FAT12/16/32.
No comments:
Post a Comment