Это происходит потому, что имена файлов длиннее 8 символов не поддерживаются FAT напрямую, а через расширение LFN . FAT действительно нечувствителен к регистру, поэтому вы не можете создавать x1234567
и X1234567
. Однако при создании файлов с длинными именами вместо них создаются короткие имена файлов, а также запись LFN, которая содержит полное имя.
Поэтому, когда вы создаете файлы x12345678
и X12345678
, эти файлы получают короткие имена, такие как X12345~1
и X12345~2
, которые являются допустимыми, и разные имена FAT. Linux спокойно относится к проверке уникальности записей LFN, поэтому в итоге вы создаете две записи, которые различаются только в зависимости от конкретного случая; что-то, что Windows не допустит Но это ограничение (или, скорее, особенность) Windows, а не файловая система FAT.
Sidenote: Бьюсь об заклад, вы также можете создать файл с именем CON
в Linux на томе FAT.
Смотрите документацию по vfat для опций монтирования, которые определяют, как Linux должен работать с именами файлов