在 Debian 下挂载磁盘/分区出现乱码,通常不是系统坏了,而是字符编码或文件系统类型不匹配导致的。下面按常见原因逐一说明。
Windows 默认使用:
而 Debian 默认是 UTF-8,如果挂载时不指定编码,就会乱码。
sudo mount -t ntfs-3g -o iocharset=utf8 /dev/sdb1 /mnt/win
如果是老中文 Windows:
sudo mount -t ntfs-3g -o iocharset=gbk /dev/sdb1 /mnt/win
sudo mount -t vfat -o iocharset=utf8 /dev/sdb1 /mnt/usb
老设备可用:
sudo mount -t vfat -o iocharset=gbk /dev/sdb1 /mnt/usb
即使挂载参数对了,如果系统本身不是 UTF-8,也会乱码。
检查:
locale
如果看到:
LANG=C
LC_CTYPE=C
说明没有 UTF-8 环境。
sudo dpkg-reconfigure locales
勾选:
en_US.UTF-8
zh_CN.UTF-8
然后:
source /etc/profile
/etc/fstab 示例(NTFS):
/dev/sdb1 /mnt/win ntfs-3g defaults,iocharset=utf8 0 0
FAT:
/dev/sdb1 /mnt/usb vfat defaults,iocharset=utf8 0 0
⚠️ 注意:
utf8 和 iocharset=utf8 不一样ntfs-3g,不是 ntfsDebian 默认可能不支持 exFAT:
sudo apt install exfat-fuse exfatprogs
挂载:
sudo mount -t exfat /dev/sdb1 /mnt/exfat
如果:
可能是:
检查:
sudo fsck /dev/sdb1
locale 是否是 UTF-8iocharset如果你愿意,可以贴出:
mount 输出/etc/fstab我可以直接帮你写一条不会乱码的挂载命令。