AS4和FC3一样,2.6.8内核开始vfat的驱动,模块就加进去了一个默认的codepage选项,这个选项要和系统的locale一致。所以mount的时候默认的情况下就得加上utf8来override模块的设置。
虽然dmesg里面会报错,但是经过实际的操练,这是唯一正常使用vfat分区的办法──iocharset的设置和locale保持一致。
如果不设置这个参数,那么只要目录和文件名不带有中文或者cp437编码之外的文字就可以正常使用,如果有这些编码的文字的话,表现出来的现象是分区完全不可访问,umount的时候被告知正在使用,无法卸载,即使是关机也是一样。
所以正确的方法是:mount -o iocharset=utf8 /dev/hda1 /mnt/win