Isso acontece porque os nomes de arquivos com mais de 8 caracteres não são suportados diretamente pelo FAT, mas pela extensão LFN . O FAT é realmente insensível a maiúsculas e minúsculas, é por isso que você não pode criar arquivos x1234567 e X1234567 . No entanto, quando você cria arquivos com nomes longos, são criados nomes de arquivo curtos, além de uma entrada LFN que contém o nome completo.
Assim, quando você cria arquivos x12345678 e X12345678 , esses arquivos recebem nomes curtos como X12345~1 e X12345~2 , que são nomes FAT diferentes e válidos. O Linux tem uma atitude relaxada para verificar a unicidade das entradas do LFN, de modo que você acaba criando duas entradas que são diferenciadas apenas por maiúsculas e minúsculas; algo que o Windows não permitiria. Mas isso é uma limitação (ou melhor, uma característica) do Windows, não do sistema de arquivos FAT.
Sidenote: Aposto que você também pode criar um arquivo chamado CON no linux em um volume FAT.
Veja documentação do vfat para opções de montagem que definem como o Linux deve funcionar com nomes de arquivos. / p>