When I look at various forums, a common question is which file system to use, exFAT, Fat32 or NTFS
The first thing to take note is that exFAT is designed for removable media where NTFS is not. As outlined in my paper, NTFS is a lazy write format, which means that I/O buffers are cached in memory and buffers are not always flushed immediately to the device. If the media is formated as NTFS (there are ways to trick the OS to think it is not removable) and the media is abruptly ejected, data loss can occur.
Although this should be less of an issue with FAT file systems, keep in mind that FAT 12/16/32 file systems have TWO (2) FAT tables, and they flip-flop as they are updated. exFAT, version 1.00 does not have this feature. exFAT version 1.00 has ONE (1) FAT table, and if you blow the table, you can lose a lot. In a later version of exFAT a feature called TexFAT (Transactional exFAT) will be provided with TWO (2) FAT tables – and TWO (2) Allocation Bitmaps (they work in pairs) and they will flip-flop. The point here is that the legacy FAT for now has redundant tables. However, keep in mind that if the free space is large, then the FAT table itself in exFAT may not even get changed, but the Allocation Bitmap does have to change, and for now there is only one.
But, REGARDLESS of the formatted file system, it is best practice not to abruptly dismount the file system by pulling the media without proper “safely remove hardware” dismounts.
So, another issue is Windows 7 only giving the option of exFAT to format USB sticks greater than 32GB in size. For example, a 128GB USB stick, or even some USB removable drives that are in 100’s of GB or even 1 or 2 T B, FAT32 is not provided as a format option. Any Windows system, even Windows 2000, will not format a device in FAT32 if that device is larger than 32GB. This is a restriction, and if the drive is larger than 32GB and formated as FAT32, some Windows utilities won’t work correctly. But, if you just use the drive for file storage, it may be fine. So, if Windows won’t format a drive larger than 32GB in FAT32, how do you get the drive formatted? Well, some of those drives may come out of the box preformatted as FAT32, you can use Linux to format the drive, or you may find a utility program that will do the format. You can download a Live CD of a Linux system and do the format. Windows will recognize a FAT32 file system that is larger than 32GB, it just won’t let you create one.
So, the next common question is what do you do when you have a exFAT file system (any size) and you want to convert to FAT32? What is important to know is that unlike FAT32 to NTFS, there is no “convert” command to convert exFAT to FAT32 or vise versa. This means that all files (that you want to keep) have to be movied/copied to another intermediate drive first, then the device formatted, and then move/copy the files back. If the drive is a TB or larger, this is going to take time. But there could be a glitch going from exFAT to FAT32. If you created a file mon the exFAT file system that is larger than 4GB in size for a single file, it won’t copy to a FAT16 or FAT32 file system because those file systems don’t support large files over 4GB. Either the file has to be chopped up, or convert to NTFS.