cryptomator 中文文档 下载 App

文件被占用无法解锁 —— 哪些程序会阻止保险库 Lock / Unlock

典型表现

你点 Lock 保险库,弹出一个对话框:

意思是:某个程序还没释放虚拟盘上的文件句柄。Cryptomator 不强行锁——它怕锁的时候文件还在被写,导致加密数据不一致。

常见罪魁祸首

1. 云盘同步客户端

这是最常见的——云盘客户端会定期扫描同步目录。如果虚拟盘没卸载,但云盘客户端正在扫描密文目录里的文件……Cryptomator 要 Lock 就会报占用。

2. 杀毒软件 / Windows Defender

实时扫描可能会对新挂载的虚拟盘做快速扫描。扫描过程中会持有文件句柄。

3. 文件管理器的预览/缩略图

4. Spotlight / Windows Search 索引器

系统后台的搜索索引器会定期扫描文件系统。虽然通常很快,但扫描中的瞬时可能阻止 Lock。

5. 你自己打开的程序

你在 Word / Excel / Photoshop 里打开了一个保险库虚拟盘里的文件、但忘了保存 + 关闭 → Word 还持有文件句柄。

6. 终端窗口

如果在终端里 cd 到虚拟盘目录,终端本身会持有当前目录句柄。cd ~ 或关掉终端窗口。

排查步骤

按顺序来:

  1. 关掉你所有在虚拟盘里打开的应用(Word、Excel、Photoshop、VS Code 等)
  2. 关掉文件管理器(Windows Explorer / Finder / Nautilus)里打开的虚拟盘目录窗口
  3. 关掉终端(如果 cd 到过虚拟盘)
  4. 等 10-30 秒(给云盘客户端、杀毒软件、索引器释放文件句柄的时间)
  5. 再试一次 Lock

90% 的情况到第 5 步就解决了。

如果还不行

方法 1:强制关闭 FUSE 会话(Linux)

# 找到哪个进程持有保险库挂载点
fuser /home/你/.local/share/Cryptomator/mnt/保险库名称/
# kill -9 杀掉(谨慎,可能丢数据)
sudo kill -9 $(fuser -m /home/你/.local/share/Cryptomator/mnt/保险库名称/)

方法 2:重启系统(最保险)

如果你不想折腾哪个进程在占用,最简单粗暴的办法:保存所有正在编辑的文件 → 重启系统。重启后所有进程都被杀掉,保险库一定能 Lock。

方法 3:等 Cryptomator 空闲自动锁生效

如果你设置了"空闲 X 分钟自动锁定",即使有进程偶尔占用,等占用结束后 Cryptomator 会自动 Lock。但这不是长久之计——如果有程序持续持有文件句柄(比如云盘客户端不停扫描),它就永远不会锁上。

方法 4:EventView(1.16.0+)

Cryptomator 1.16.0 引入了 EventView——在解锁状态的保险库详情面板里可以看到最近的事件日志,包括"哪个进程在访问保险库"。EventView 能帮你定位到具体是哪个进程在搞事。

预防性建议

场景建议
用完保险库主动 Lock,不要等自动锁
经常 Lock 不上换个杀毒软件 / 给虚拟盘目录加白名单
Finder / Explorer 预览占文件解锁后不要在文件管理器里浏览文件(直接用应用打开)
Linux 用户fuser + lsof 组合排查非常方便