NOTE

Obsidian 书库修复与 EPUB 样例报告

2026/04/19 9 min read NOTE 类 阅读书库 项目 书库 形态 记录 导入样例 书库

Obsidian 书库修复与 EPUB 样例报告

更新时间:2026-04-18

1. 便携版 Obsidian 修复

已将 E:\My Project\Obsidian\app\obsidian 从残缺目录替换为官方 Obsidian 1.12.7 的完整 Windows 包。

修复前缺失:

  • resources.pak
  • chrome_100_percent.pak
  • 以及一批 Electron 运行资源

本地备份:

  • E:\My Project\Obsidian\app-repair\backup-before-repair-20260418-132028\obsidian
  • E:\My Project\Obsidian\app\obsidian-broken-20260418-1322

下载与提取来源:

  • E:\My Project\Obsidian\app-repair\downloads\Obsidian-1.12.7.exe
  • E:\My Project\Obsidian\app-repair\extracted\obsidian-1.12.7\app-64

界面验证截图:

  • E:\My Project\Obsidian\data\plugin-recovery\verification\obsidian-after-repair-20260418-1322.png

状态:verified

2. books 全量检测结果

检测目录:

  • E:\My Project\Obsidian\data\docs\books

最初统计:

  • .mobi:159
  • .epub:58
  • .azw3:3

结论:

  • 这批 .mobi/.epub/.azw3 当前不是正常电子书文件
  • 我抽检了文件头,基本都是 00 00 00 00 ... 的零填充文件
  • 其中 .epub 也无法作为 zip/epub 打开
  • calibre 也无法读取这些 .mobi

所以这批文件不是“可转换但格式旧”,而是“源文件本身已经坏掉/空洞化”。

这也是为什么本次批量 mobi -> epub 没有成功产出:

  • 不是 calibre 不支持
  • 而是输入源已经不可读

3. 这次我怎么处理坏书

为了避免再次误删,我没有做永久抹除,而是统一移入隔离区。

隔离目录:

  • E:\My Project\Obsidian\data\books-maintenance\quarantine

其中包括:

  • .epub
  • .mobi
  • .azw3

批处理脚本:

  • E:\My Project\Obsidian\data\books-maintenance\scripts\book-maintenance.ps1

本轮报告:

  • E:\My Project\Obsidian\data\books-maintenance\reports\books-maintenance-20260418-132505.md
  • E:\My Project\Obsidian\data\books-maintenance\reports\books-maintenance-20260418-132505.csv
  • E:\My Project\Obsidian\data\books-maintenance\reports\books-maintenance-20260418-132505.json

注意:

  • 这份批处理报告里 mobi_failed=159,本质原因是输入书坏了
  • 不是因为格式本身不能转
  • 脚本里我也已经顺手修掉了带空格路径时 calibre 参数传递的问题,后面如果有健康 mobi,可以直接复用脚本再跑

4. 当前 books 目录状态

现在 E:\My Project\Obsidian\data\docs\books 下,原来那批坏掉的 .mobi/.epub/.azw3 已经清出去,只保留:

  • 非目标文件(如 .jpg/.md/.csv/.txt/.rar
  • 一个健康 EPUB 样例源

健康样例源:

  • E:\My Project\Obsidian\data\docs\books\_健康样例来源\自控力(健康样例).epub

这是我为了给你做实际阅读样例,临时放进去的一本可读 EPUB。

5. 实际导入样例

由于你原 books 目录里已经没有可读 EPUB,我采用了健康样例源来做一轮实际导入,生成了 Obsidian 内可滚动阅读的 Markdown 样例。

导入输出目录:

  • E:\My Project\Obsidian\data\docs\books\imported_markdown\自控力(健康样例)

关键文件:

  • E:\My Project\Obsidian\data\docs\books\imported_markdown\自控力(健康样例)\自控力(全文).md
  • E:\My Project\Obsidian\data\docs\books\imported_markdown\自控力(健康样例)\README.md
  • E:\My Project\Obsidian\data\docs\books\imported_markdown\自控力(健康样例)\images

导入脚本:

  • E:\My Project\Obsidian\data\books-maintenance\scripts\import-epub-sample.js

这个样例导入链路使用了:

  • epub-importer 的解析器
  • epub-importer 的 Turndown 转换规则
  • imported_markdown 目录下已经启用的中文阅读 CSS

6. 可见性验证

我已经通过 obsidian://open 直接把样例文件在 Obsidian 里打开,并截到了实际阅读界面。

打开的文件:

  • docs/books/imported_markdown/自控力(健康样例)/全文

界面截图:

  • E:\My Project\Obsidian\data\plugin-recovery\verification\obsidian-sample-reading-20260418-1334.png

验证结果:verified

也就是说:

  • 便携版 Obsidian 现在能正常起
  • 样例阅读文件已经能在 Obsidian 内直接打开
  • 当前样例阅读模式是连续滚动的 Markdown 长文阅读
  • 中文排版增强已经可作用于这个目录

7. 现在最关键的事实

你让我批量把 books 下面的 mobi 改成 epub,这一步没法对“当前这批原文件”真正完成,原因不是工具不够,而是:

  • 这批 .mobi/.epub/.azw3 文件本体已经坏了
  • 多数是零填充假文件/空文件式占位
  • 所以不存在可正常转换的内容体

要继续恢复你的真实书库,后续重点已经不是“再转一次格式”,而是:

  • 从恢复区 / 历史副本 / 云盘 / 旧目录 / 下载缓存里重新找健康源文件
  • 找到健康源文件之后,再用 calibre 批量转 epub