JWJW Sync

用 Library Doctor 修复损坏的 JW Library 备份

JW Library 不肯还原你的 .jwlibrary 文件?Library Doctor 会在你的浏览器里扫描这个备份,修复常见问题,并生成一个能正常还原的干净副本。

一个还原不了的备份,不一定就是一个已经丢了笔记的备份。人们口中「损坏」的文件,大多结构完好,只是因为某个可修复的原因被拒绝,或者是在传输中受损、换一份新的就好了。在给这个文件判死刑之前,值得先把各种原因过一遍。

有时候 JW Library 会拒绝一个备份文件——还原失败、报错,或者文件根本打不开。常见原因有:下载中断、云盘把文件搞坏了、扩展名在传输途中被改掉,或者多年使用中积累下来的内部不一致。

JW Sync 内置了 Library Doctor:一个检查工具,它扫描 .jwlibrary 文件并修复常见问题——完全在你的浏览器里进行,文件绝不离开你的设备。

分步操作

  1. 打开 JW Sync,载入有问题的文件

    去 jwsync.org,载入那个还原不了的 .jwlibrary 文件。(如果文件到手时被改名成了 .zip,先改回 .jwlibrary——光是这一步就能解决不少情况。)

  2. 运行 Library Doctor 扫描

    Doctor 会检查备份的内部结构,并用大白话列出它发现的一切——从无害的小毛病到真正的损坏。

  3. 应用修复

    点一下就修好所有可修的地方。Doctor 绝不改动你的原始文件;它生成的是一个清理过的副本,原件原封不动地留着当退路。

  4. 下载并还原修复后的文件

    在 JW Library 里通过备份和还原 → 还原,把清理过的 .jwlibrary 装回去。

现在就试——免费,在浏览器里完成JW Sync 完全在你的设备上合并、编辑和分析 .jwlibrary 备份。不需要账号,不上传,不用安装任何东西。打开 JW Sync →

每次合并时 Doctor 也会跑一遍

同样的检查会在合并引擎内部自动运行,所以合并出来的备份始终是干净的——哪怕其中一个输入文件有你从来不知道的问题。

当一个文件真的修不好了

如果文件被截断得太厉害,数据根本就不在里面,那么任何工具都变不出来。Doctor 会老老实实告诉你,而不是生成一个可疑的文件——那就是去邮件、Drive 或 iCloud 里翻找更早副本的信号,这也是为什么留着旧备份是值得的。

「损坏」通常意味着什么

实际上很少是数据本身坏了。常见的原因是文件在传输中被截断——上传失败或者聊天应用压缩了它——或者压缩包完好但里面存在应用不接受的内部不一致。因为 .jwlibrary 文件是一个包着 SQLite 数据库的 ZIP,两层里的任何一层都可能出问题,而它们需要不同的处理。被截断的文件修不好,只能重新弄一份;不一致的数据库通常修得好。

一次扫描到底检查了什么

扫描会确认压缩包打得开,userData.db 是一个能读、能通过完整性检查的 SQLite 数据库,表结构符合 JW Library 的预期,以及清单文件和它所描述的数据库彼此吻合——包括应用用来确认文件未被改动的那个哈希值。清单与数据库对不上,是一个技术上完好的备份在还原时被拒绝的最常见原因之一,而且修起来很直接。

孤立的记录行通常无害

扫描一个真实的备份,常常会报出一些指向已不存在之物的记录行——比如一处标注指着一个已经挪走的出版物位置。JW Library 自己做的备份里动辄有几百条这种东西,还原起来毫无怨言。它们是出版物随时间更新的正常结果,不是损坏的证据,清不清掉都不影响文件能不能用。

从一个还原不了的文件里抢救笔记

即使一个备份修不到 JW Library 肯接受的程度,里面的笔记往往仍然读得出来。在浏览器里打开这个文件,你可以直接看到并复制笔记正文,这就把一个用不了的文件变成了抢救回来的研读材料。如果你还有另一个较旧、能正常还原的备份,从损坏文件里读出来的内容可以跟它汇到一起,而不必重新打一遍。

还原失败但没有明确报错时

JW Library 经常在拒绝一个文件时不解释原因。最常见的几种情况是:清单里的哈希值与它所描述的数据库对不上;文件在传输中被截断;或者备份是由比你要还原进去的那个版本更新的应用写出来的。第一种修得好,第二种需要从原始来源重新取一次文件,第三种在还原前把应用更新一下就解决了。

下次怎么避免

大多数损坏发生在传输途中。请把备份当作文件来搬,而不要经过任何可能重新压缩它的东西,优先用云端存储、AirDrop 或数据线,少用聊天应用。传完之后确认文件大小和原件一致——比你发出去的明显小一截,就说明被截断了,而任何修复都变不回从未到达的字节。

如果什么办法都不行

一个修不好的文件仍然可能读得出来,而读得出来往往就够了——即便 JW Library 拒绝这个文件,笔记正文还是能直接取回。把它和任何一个能正常还原的旧备份合起来,你通常还是能保住书库的大部分。在断定一个文件没救之前,先打开它,看看里面究竟有什么。

常见问题

扫描时我的数据会被上传吗?
不会。扫描、修复和导出全都在浏览器本地运行。
它能找回我在 JW Library 里删掉的笔记吗?
不能——它修的是文件结构。在做备份之前就已经在应用里删掉的笔记,本来就不在文件里,也就无从找回。
修复文件会丢掉笔记吗?
修复是在副本上进行的,处理的是结构问题而不是内容。你的原始文件绝不会被改动,所以随时可以推倒重来。
我的备份为什么会损坏?
最常见的是文件在传输中被改动了——经过某个压缩或截断了它的应用,或者上传没有完成。从原始来源重新传一次通常就能解决。
扫描能找回我在 JW Library 里删掉的笔记吗?
不能。一旦在应用里删掉并做了新备份,那条笔记在这个文件里就没有了。删除之前做的旧备份里仍然会有。
能从文件大小看出它是不是被截断了吗?
常常可以。如果原件还在,拿来比一比;明显短了一截就说明传输没有完成。
能在浏览器里打开的备份,就一定能还原吗?
不能保证,但这是压缩包和数据库都完好的有力信号,最常见的几种失败也就排除了。

相关指南