必须先确认内核是否成功识别设备,再执行手动挂载操作:运行sudo dmesg | tail -30和lsblk验证 U 盘对应的设备节点(如 /dev/sdb1),使用blkid或lsblk -f确定文件系统类型,创建 /mnt/usb 挂载点后根据格式执行对应的mount命令,并通过 uid/gid 参数为当前用户分配读写权限。

如果你在 Linux 桌面环境下使用过 U 盘,大概率会遇到这种情况:U 盘插入后系统毫无反应,文件管理器里也找不到设备图标。这时候别急着换 USB 口——在银河麒麟操作系统中,最可靠的解决方案是打开终端,手动执行一遍挂载流程。整个过程并不复杂,但有几个关键步骤不能跳过,尤其是内核识别环节,一旦出错,后续所有指令都会白费。
确认 U 盘是否被内核识别
这一步绝对不能省略。因为无论使用 lsblk 还是 mount 命令,都无法凭空生成一个设备节点。如果系统内核根本没有识别出你的 U 盘,那么后续输入的任何命令,结果都只会是 “no such device”。
打开终端后,先做两件事:第一,执行 sudo dmesg | tail -30,仔细查看输出末尾是否存在类似 “usb X-Y: new high-speed USB device” 或 “Attached SCSI removable disk” 的提示。第二,运行 lsblk,检查是否多出了一个未挂载的块设备(比如 sdb),并且其 MOUNTPOINT 字段显示为空。
如果上述两项都没有出现,建议换到主板后置的 USB 接口重试。此外,别忘了进入系统安全中心,在“设备安全→外设管控”中关闭相关限制——这一步经常被大家忽略,却很容易导致识别失败。
识别 U 盘分区并确定文件系统类型
确认 U 盘已被正确识别后,下一步就是搞清楚它的文件系统格式。这里提供两种方法,任选其一即可。
方法一:直接使用 sudo blkid。输出结果中会包含类似 /dev/sdb1: UUID="A4B2-1C9F" TYPE="vfat" LABEL="KINGSTON" 的信息,其中 TYPE 后面的值就是关键——vfat 表示 FAT32,ntfs 对应 NTFS,exfat 代表 exFAT,ext4 则是 Linux 原生格式。
方法二:运行 lsblk -f,查看 FSTYPE 列也能一目了然。不过注意不要与系统盘(一般是 /dev/sda*)混淆,只关注容量与 U 盘大小一致的条目即可。
有一点必须强调:千万不要直接用设备名(如 /dev/sdb)去挂载,一定要指定具体分区(如 /dev/sdb1)。否则系统会提示 “you must specify a filesystem type”。
创建挂载点并执行挂载
这一步操作起来非常简单。首先建立一个标准挂载目录:
sudo mkdir -p /mnt/usb
然后根据 U 盘的文件系统类型选择对应的挂载命令:
→ 如果是 FAT32(U 盘出厂默认格式):sudo mount -t vfat /dev/sdb1 /mnt/usb
→ 如果是 NTFS(Windows 10/11 上常见):先确保安装了 ntfs-3g 驱动(sudo apt install ntfs-3g),再执行 sudo mount -t ntfs-3g /dev/sdb1 /mnt/usb
→ 如果是 exFAT(64GB 以上新 U 盘常见):确保安装了 exfat-fuse 包(sudo apt install exfat-fuse exfat-utils),然后执行 sudo mount -t exfat-fuse /dev/sdb1 /mnt/usb
最后验证挂载结果:执行 ls /mnt/usb,如果能列出 U 盘中的文件,说明挂载成功了。如果遇到 “Permission denied” 提示,那就是权限问题,需要继续处理。
赋予普通用户读写权限
默认情况下,挂载后的 /mnt/usb 目录归 root 用户所有,普通用户只能查看,无法复制、删除或写入新文件。很多人挂载成功后却发现无法写入,原因就在这里。
解决起来并不复杂:先卸载——sudo umount /mnt/usb;然后使用 id -u 和 id -g 查看当前用户的 UID 和 GID,通常都是 1000;最后重新挂载,并加上权限参数:sudo mount -t vfat -o uid=1000,gid=1000,umask=000 /dev/sdb1 /mnt/usb。
检查一下权限:执行 ls -ld /mnt/usb,输出中第一组权限应该显示为你的用户名,而不是 root。这样一来,U 盘就能正常读写使用了。
整个流程走下来,核心其实只有两个关键点:一是确认内核已正确识别设备,二是搞清楚文件系统类型。只要这两步没出错,后续基本就是复制粘贴命令的工夫。我自己常用的做法是,在 blkid 获取信息后,将挂载命令写成一行 alias,方便下次直接调用——不过那就是另一个话题了。
