u盘被系统或进程锁定导致无法弹出,需先用lsblk确认挂载状态,再用sudo lsof +d检查占用进程,终止后执行sudo udisksctl unmount -b /dev/sdb1 && sudo udisksctl power-off -b /dev/sdb;若仍失败,重启udisks2服务或杀掉相关进程。

银河麒麟系统插入U盘后右键“弹出”菜单灰掉、点击无响应,或文件管理器中设备图标旁不显示弹出按钮——这说明U盘虽已挂载但被系统或某个进程锁定,无法安全卸载。
确认U盘当前挂载与占用状态
打开终端(Ctrl+Alt+T),执行:
lsblk | grep -E "sdb|sdc|sdd"
观察输出中对应U盘分区(如sdb1)的MOUNTPOINT是否非空;若为空,说明根本未挂载,无需弹出,直接拔除即可(但存在数据丢失风险)。
若MOUNTPOINT有路径(如/media/kylin/USB),继续执行:
sudo lsof +D /media/kylin/USB 2>/dev/null
该命令会列出所有正在访问该挂载点的进程。若返回空白,说明无活跃进程占用;若出现bash、nautilus、gvfsd等进程名,【必须先终止这些进程,否则弹出必然失败】。
用udisksctl命令强制安全弹出
这是银河麒麟V10默认采用的底层设备管理方式,比图形界面更可靠。
第一步:查出U盘设备节点
运行 lsblk -o NAME,MODEL,SIZE,MOUNTPOINT,找到你的U盘对应行(如sdb1),记住前缀(sdb)。
第二步:执行弹出指令
sudo udisksctl unmount -b /dev/sdb1 && sudo udisksctl power-off -b /dev/sdb
注意:-b 后必须是分区设备(如/dev/sdb1),而 power-off 针对的是整块磁盘(/dev/sdb)。两个命令用 && 连接,确保先卸载再断电。若提示“Authentication is required”,说明当前用户不在storage组,需先执行 sudo usermod -aG storage $USER 并重新登录。
重启udisks2服务释放设备锁
当文件管理器卡死、预览缩略图进程残留、或挂载服务异常时,udisks2可能长期标记设备为busy,导致所有弹出请求静默失败。
方法一:重启服务
sudo systemctl restart udisks2
方法二:杀掉全部挂载相关进程(更彻底)
sudo pkill -f "udisks|gvfs|nautilus" && sleep 2
执行完任一方法后,立即重试 udiskctl 命令。这一步操作起来很简单,直接把命令复制粘贴进终端回车就行。
手动卸载后物理拔出(应急)
仅在上述方法全部失效、且你确认U盘内无正在写入的数据时使用。
先卸载:
sudo umount /dev/sdb1
若提示“target is busy”,不要强行拔出。回到上一步检查lsof结果,或改用 fuser -v /dev/sdb1 查看具体PID并 kill -9。
卸载成功后,系统不再报错,此时可安全拔出U盘。











