Windows reverting changes made by Linux to FAT32 partition

It may be that, when you boot Linux, you have left Windows in a sleep/hibernate state rather than shut it down.  (Windows 10 is notoriously resistant to being shut down properly.)  Windows may be keeping part of the filesystem cached in memory (i.e., the page file) and does not expect some other operating system to have modified the disk.

Try to figure out how to really shut down Windows.


Recent windows versions do include startup optimizations that involve caching disk data somewhere different than that same disk, which causes the behavior that you found when the disk is accessed by a different OS.

You can use the Group Policy Turn Off Boot And Resume Optimizations (located in Computer Configuration\Administrative Templates\System\Disk NV Cache) which should make Windows only store the files that on their partition. There are also some other Nonvolatile Caching settings available, but that one should fix your issue.