根本原因是Windows用GBK/CP936编码保存文件名而Linux挂载时未指定字符集,需先验证并安装中文语言包及nls_cp936模块,再对FAT32用iocharset=cp936挂载、对NTFS优先用ntfs-3g加iocharset=utf8,windows_names选项。
电脑在windows和linux双系统间切换后,原本正常的中文文件名变成问号或方块,根本不是文件损坏,而是linux挂载时没告诉内核“这些名字是用gbk写的”,导致解码失败——必须按分区类型分别指定字符集并绑定到稳定路径,否则每次重启都得手动修复。
确认系统是否支持GBK/CP936字符集
执行 locale -a | grep -i "gb\|cp936",若输出为空(如无 zh_CN.GB18030 或 nls_cp936),说明内核缺少对应模块或系统未装中文语言包。
Ubuntu/Debian用户运行:sudo apt-get install language-pack-zh-hans;CentOS/RHEL用户运行:sudo yum install glibc-common。
【关键前提】若 nls_cp936 内核模块未加载,后续挂载时加 iocharset=cp936 会静默失效——必须先验证模块可用:sudo modprobe nls_cp936 && lsmod | grep cp936,有输出才算成功。
挂载FAT32/U盘分区并解决中文乱码
方法一:临时挂载(重启即失效)
先创建挂载点:sudo mkdir -p /mnt/usb;
再执行挂载:sudo mount -t vfat -o iocharset=cp936,umask=000 /dev/sdc1 /mnt/usb。
方法二:永久挂载(写入fstab)
编辑配置文件:sudo nano /etc/fstab;
追加一行:UUID=你的U盘UUID /mnt/usb vfat defaults,iocharset=cp936,umask=000 0 0;
保存后执行 sudo mount -a 立即生效。
注意:FAT32不区分大小写且无POSIX权限,umask=000 是让普通用户能创建/删除中文命名文件的关键选项,漏掉会导致权限拒绝。
挂载NTFS分区并启用完整中文支持
第一步:确认已安装 ntfs-3g
运行 ntfs-3g --version,若提示 command not found,则需安装:
Ubuntu/Debian:sudo apt install ntfs-3g;
CentOS/RHEL:sudo yum install epel-release && sudo yum install ntfs-3g。
第二步:用 ntfs-3g 挂载并指定 Windows 编码
执行:sudo mount -t ntfs-3g -o iocharset=utf8,windows_names /dev/sda2 /mnt/win。
其中 windows_names 强制禁止创建含非法字符的文件名,iocharset=utf8 告知 ntfs-3g 用 UTF-8 解析元数据——这是现代 Linux 与 Windows 10/11 兼容的首选组合。
第三步:若仍乱码(常见于老旧 Windows 系统或非UTF-8区域设置)
改用 CP936:sudo mount -t ntfs-3g -o iocharset=cp936,windows_names /dev/sda2 /mnt/win。
【不可逆风险】若挂载时 Windows 处于快速启动或休眠状态,NTFS 分区被标记为“不干净”,此时以读写模式挂载可能导致数据损坏。务必先在 Windows 中完全关机(禁用快速启动),再进入 Linux 操作。
统一挂载路径并确保GUI可见
① 创建标准化挂载目录:sudo mkdir -p /windows/{C,D,E,F}。
② 查找各Windows分区UUID:sudo blkid | grep ntfs,记录下 C/D/E/F 对应的 UUID 值。
③ 编辑 /etc/fstab,为每个分区添加一行,例如:UUID=367C32757C32304B /windows/C ntfs-3g defaults,iocharset=utf8,windows_names,uid=1000,gid=1000,umask=022 0 0。
④ 执行 sudo mount -a 测试配置是否正确;若无报错,重启后自动挂载到固定路径。
GNOME 文件管理器默认不显示 /windows 下的子目录为侧边栏设备图标。需手动启用:打开 ~/.config/gtk-3.0/bookmarks,追加一行 file:///windows/C Windows-C,保存后重启文件管理器即可在侧边栏看到带标签的挂载点。

















