在 银河麒麟(Kylin) 操作系统(基于 Ubuntu 或 CentOS)中,U 盘自动挂载通常由 udisks2 或 udev 规则 实现。以下是具体实现方法:

  1. 检查是否已启用自动挂载
    银河麒麟(尤其是桌面版)通常默认启用 udisks2 自动挂载 U 盘,插入 U 盘后会自动挂载到:
/media/<用户名>/<U盘名称>
或
/run/media/<用户名>/<U盘名称>

如果自动挂载失效,可以手动测试:

udisksctl mount -b /dev/sdb1  # 手动挂载(sdb1 替换为你的 U 盘设备)
  1. 方法 1:使用 udisks2(推荐)
    (1)修改默认挂载选项
    如果希望自定义挂载参数(如权限、编码),创建配置文件:
sudo nano /etc/udisks2/mount_options.conf

添加以下内容(示例):

ini

[defaults]
defaults=uid=1000,gid=1000,dmask=022,fmask=133  # 普通用户可读写
ntfs_defaults=uid=1000,gid=1000,locale=zh_CN.UTF-8  # NTFS 中文支持
vfat_defaults=uid=1000,gid=1000,iocharset=utf8,shortname=mixed  # FAT32

中文支持
生效方式:

重新插拔 U 盘,或手动触发挂载:

udisksctl mount -b /dev/sdb1

(2)检查 udisks2 服务状态

systemctl status udisks2  # 确保服务正在运行
sudo systemctl restart udisks2  # 重启服务(可选)
  1. 方法 2:通过 udev 规则(无桌面环境/服务器)
    如果 udisks2 不可用(如服务器版),可以通过 udev 规则实现自动挂载。

(1)创建 udev 规则文件

sudo nano /etc/udev/rules.d/99-usb-auto-mount.rules

添加以下规则:

plaintext
# 自动挂载 U 盘(vfat/ntfs/ext4)
ACTION=="add", SUBSYSTEM=="block", ENV{ID_FS_TYPE}=="vfat|ntfs|ext4", ENV{ID_FS_USAGE}=="filesystem", RUN+="/bin/mkdir -p /mnt/usb-%k", RUN+="/bin/mount -o uid=1000,gid=1000,dmask=022,fmask=133 $devnode /mnt/usb-%k"

说明:

/mnt/usb-%k:挂载目录(%k 是设备名,如 sdb1)。

uid=1000,gid=1000:让普通用户(UID=1000)可读写。

(2)重新加载 udev 规则

sudo udevadm control --reload
sudo udevadm trigger  # 立即生效

插入 U 盘后,会自动挂载到 /mnt/usb-sdb1 等目录。

  1. 方法 3:修改 /etc/fstab(固定设备)
    如果 U 盘是固定设备(如长期插在服务器上),可以编辑 /etc/fstab:

    sudo nano /etc/fstab
    添加一行(替换 /dev/sdb1 和 UUID):

UUID=1234-ABCD  /mnt/usb  ntfs-3g  defaults,uid=1000,gid=1000,dmask=022,fmask=133  0  0

获取 UUID:

sudo blkid /dev/sdb1

测试挂载:

sudo mount -a
  1. 常见问题
    (1)U 盘无法自动挂载?
    检查是否安装 ntfs-3g/exfat 支持:
sudo apt install ntfs-3g exfat-fuse exfat-utils  # 银河麒麟(Ubuntu 版)
sudo yum install ntfs-3g fuse-exfat             # 银河麒麟(CentOS 版)

查看日志:

journalctl -xe | grep udisks
dmesg | tail -20  # 检查内核是否识别 U 盘

(2)中文文件名乱码?
在挂载选项中添加 locale=zh_CN.UTF-8(NTFS)或 iocharset=utf8(FAT32):

# /etc/udisks2/mount_options.conf
ntfs_defaults=uid=1000,gid=1000,locale=zh_CN.UTF-8
vfat_defaults=uid=1000,gid=1000,iocharset=utf8,shortname=mixed

(3)普通用户无法读写?
确保挂载时指定 uid=1000,gid=1000(id 命令查看你的 UID/GID)。

  1. 总结
    场景 方法 关键配置
    桌面版(默认) udisks2 /etc/udisks2/mount_options.conf
    服务器/无桌面 udev 规则 /etc/udev/rules.d/99-usb-auto-mount.rules
    固定 U 盘 /etc/fstab UUID=XXX /mnt/usb ntfs-3g defaults 0 0
    按需选择方案即可实现银河麒麟下的 U 盘自动挂载 + 读写支持! 💾
文档更新时间: 2025-04-20 02:14   作者:月影鹏鹏