本文为您介绍Alibaba Cloud Linux 2和Alibaba Cloud Linux 3系统中挂载FAT文件系统报错“fat: utf8 is not a recommended IO charset for FAT filesystems, filesystem will be case sensitive!”的原因和解决方案。
问题现象
采用-o iocharset=utf8
挂载参数挂载FAT文件系统时,系统内核日志中会报如下错误。
fat: utf8 is not a recommended IO charset for FAT filesystems, filesystem will be case sensitive!
原因分析
在使用-o iocharset=utf8
挂载时,FAT文件系统可能出现码表相关错误。Linux内核的FAT文件系统通过-o iocharset=
挂载选项指定的码表或者FAT文件系统默认NLS码表CONFIG_FAT_DEFAULT_IOCHARSET(Alibaba Cloud Linux 3中默认为ascii
)来完成这种大小写转换。
当使用-o iocharset=utf8
挂载选项时,会使用内核的UTF-8 NLS码表,但由于内核NLS API不支持非固定8-bit编码(例如UTF-8编码),因此该码表没有实现大小写转换功能,导致-o iocharset=utf8
下FAT文件系统的大小写转换工作无法正常进行。
解决方案
在FAT挂载时使用-o utf8=1
挂载选项。
以挂载/dev/vdb到/mnt目录下为例。
mount -o utf8=1,iocharset=ascii /dev/vdb /mnt
说明
Alibaba Cloud Linux系统与其他系统(例如Windows)做数据交换时避免使用UTF-8编码。
文档内容是否对您有帮助?