U盘在银河麒麟系统中无法访问、文件为空或报“只读文件系统”等错误,多因FAT32/exFAT/NTFS逻辑损坏所致;需先通过dmesg和lsblk确认内核识别及设备节点,再依文件系统类型执行dosfsck、ntfsfix或exfatfsck修复,最后重新挂载并设置uid/gid/umask确保读写权限。

银河麒麟系统中U盘插入后无法访问、文件列表为空、复制文件报错“只读文件系统”或“输入/输出错误”,多数情况是FAT32/exFAT/NTFS文件系统出现逻辑损坏,需先挂载确认状态,再针对性修复,跳过识别验证直接执行dosfsck或ntfsfix会导致命令失败或误伤数据。
确认U盘是否被内核识别并定位设备节点
打开终端(Ctrl+Alt+T),执行:
sudo dmesg | tail -30
观察末尾是否有“usb X-Y: new high-speed USB device”和“sdX: [sdb/sdc]”字样;若无,换插主板后置USB口,禁用安全中心→设备安全→外设管控后再试。
接着运行:
lsblk
找到容量与U盘物理大小一致、且MOUNTPOINT为空的块设备(如sdb1),【若lsblk不显示sdb/sdc类设备,后续所有操作均无效】。
判断文件系统类型并卸载当前挂载
方法一:用lsblk -f快速查看FSTYPE列
运行:
lsblk -f | grep sdb1
注意避开/dev/sda*(系统盘),只认准你刚确认的设备名(如sdb1)对应的FSTYPE值——vfat即FAT32,ntfs为NTFS,exfat即exFAT。
方法二:用blkid补全校验
执行:
sudo blkid /dev/sdb1
输出中TYPE字段为准。
确认类型后,先卸载(即使未挂载也建议执行,避免busy状态):
sudo umount /dev/sdb1
若提示“target is busy”,关闭所有打开该U盘的窗口、图片预览器、终端cd进该目录等进程,或改用懒卸载:
sudo umount -l /dev/sdb1
执行对应文件系统修复
第一步:根据FSTYPE选择修复命令
→ 若为vfat/fat32:
sudo dosfsck -a -v /dev/sdb1
这一步会自动修复坏簇、清理脏位、重建FAT表,-a参数表示自动修复无需交互。
→ 若为ntfs:
sudo ntfsfix /dev/sdb1
该命令专用于清除Windows休眠残留锁标记,不修复底层结构,但能解除只读限制。
→ 若为exfat:
先安装工具:
sudo apt install -y exfat-fuse exfat-utils
再执行:
sudo exfatfsck -v /dev/sdb1
注意:exfatfsck不支持-a自动修复,必须人工确认每项警告,遇到“Invalid checksum”等提示时按y继续。
第二步:验证修复结果
执行:
sudo dosfsck -n /dev/sdb1(仅检查不修改)
若输出末尾显示“0 errors found”,说明修复完成;若仍有“SECTOR NOT ALLOCATED”等报错,U盘存在物理坏道,不建议继续使用。
重新挂载并赋予用户读写权限
① 创建标准挂载点:
sudo mkdir -p /mnt/usb
② 挂载设备:
sudo mount /dev/sdb1 /mnt/usb
③ 验证可读写:
ls /mnt/usb → 能列出文件即挂载成功
touch /mnt/usb/test.txt && rm /mnt/usb/test.txt → 不报错即具备读写能力
④ 若仍提示Permission denied:
先卸载:
sudo umount /mnt/usb
再以当前用户身份挂载:
sudo mount -t vfat -o uid=$(id -u),gid=$(id -g),umask=000 /dev/sdb1 /mnt/usb
其中umask=000确保新建文件权限为777,适配U盘常用场景。

















