obsidian 在新建仓库时出错

遇到的问题

我使用的是Obsidian-1.6.7,系统是win10。obsidian安装在VMWare虚机上,如果把仓库建是虚机磁盘上是正常的。但把仓库建在通过//vmware-host映射的磁盘上就出错,报以下错误

illegal operation on a directory , watch

映射磁盘上的目录是新建的,obsidian 创建失败后查看过该目录有创建成功.obsidian子目录及四个文件(app.json,appearance.json,core-plugins.json,core-plugins-migration.json)其他文件没有创建成功。

失败提示如下图。图中Z盘为//vmware-host映射磁盘。

已尝试的解决方案

  • 尝试过先在虚机上完成仓库创建,在obsidian仓库管理功能中选“移动仓库”,目录文件夹选映射磁盘文件夹时报同样的错。
  • 在虚机上完成仓库创建,把仓库手工复制到选映射磁盘文件夹,在obsidian仓库管理功能中选“打开本地仓库”,选择映射磁盘上的文件夹时报同样的错。

写这么细致, 估计楼主已经排查过基础问题了,
且根据描述: 文件夹 .obsidian + 内部 *.json 都能造成功, 不太像目录权限问题

看着也许是 Support for vaults in Windows Subsystem for Linux (WSL) - Feature requests 的原因: VMWare 映射盘给 Win10, 其文件系统的功能完整性不如 Win10 自己管理的文件系统, 关键词可能是 watch


感觉不好解决啊, 且路径太长了连定位都难,
要不试试造个简单盘 (不要快照, 不要压缩, 固定大小, 总之一切都往最基本的 vmdk 去设置) 再试试? 如果能成功, 至少可以缩减问题范围


如果虚机管理结构很复杂, 比如虚拟盘 backend 是基于网络存储, 比如虚机实例在资源池里之类的, 那可能这一串路径上全是坑, 建议考虑能否妥协需求: 比如

虚拟自身系统盘 (安装 Ob 软件, 存储 Ob 笔记) 
   ^
   |        两盘里各存一份笔记, 拿第三方文件同步工具去管理
   v
虚拟挂载映射盘 (额外存一份笔记, 但不用 Ob 直接打开)  
   ^
   |
   v
可控的笔记存储