Кириллические имена файлов в файловой системе MS Windows
Windows имеет возможность давать имена файлов в кодировке Unicode, поэтому пользователи могут давать осмысленные имена своим файлам. Linux, однако, не дает полной поддержки для Unicode, поэтому если вы монтируете диск Windows VFAT, то увидите, что подобные имена состоят из вопросительных знаков и прочего мусора.
Здесь указан путь, как получить правильное преобразование:
codepage=866,iocharset=koi8-r
или пропишите в /etc/fstab/ примерно такую строчку:
/dev/hda5 /mnt/d vfat noexec,dev,suid,rw,umask=002, codepage=866,iocharset=koi8-r, gid=101 0 0
для выяснения подробностей смотрите man mount.
Более подробно смотрите Documentation/filesystems/vfat.txt
в исходниках ядра Linux.