KOReader 在一次启动时崩溃,随后引发了一连串问题,最终导致设备卡在大树界面。
事情是这样的。KOReader 启动时,SimpleUI 读取了用户存储根目录,封面浏览功能随之扫描了其中存放的大量与图书无关的文件,随后 KOReader 崩溃退出。
KOReader 崩溃本身不算大问题,麻烦在于它当时以 no framework 模式运行。这个模式会停止或绕开 Kindle 的原生系统框架,让 KOReader 独占界面。KOReader 崩溃后,原生系统框架没有可靠恢复,设备异常,只能强制重启。
强制重启后,原生界面虽然可以操作,但打开图书提示"内容不可用",Scriptlets 打开后为空。连接电脑后,设备被识别为 USB Network 虚拟出来的网卡,而不是 USB 存储设备;网络可达,但 SSH 端口拒绝连接,;un 也无法切换到 USB 存储模式。当时 USBNetwork 设置为自动启动,USB 接口被网络模式占用,SSH 服务却没有提供连接,Wi-Fi SSH 也不可用,所有维护入口就此丢失。
由于所有软件层面的入口都已失效,最后只能从 Kindle 原生界面执行恢复出厂设置。越狱 Kindle 执行恢复出厂设置有较高的卡大树风险,设备随后果然卡在了大树界面。
不过卡大树阶段底层 Linux 仍在运行,USBNetwork 反而恢复了可用状态。借助重新可用的 SSH,我禁用了 USBNetwork 自动启动,重建用户存储,Kindle 重新以 USB 存储设备连接电脑。随后刷入与设备匹配的官方固件,但卡大树依旧存在——刷固件只替换系统文件,没有清除设备内部损坏的运行状态,而正是这些状态导致系统每次启动都卡在大树界面。
日志显示,系统在启动流程中读取设备内部状态时崩溃,这正是卡大树的原因。最终在用户存储根目录放置 DO_FACTORY_RESTORE,让 Kindle 在启动时执行更彻底的恢复流程,重置持久化状态,设备恢复正常。
这次故障不是单一问题,而是多个风险连续叠加的结果:封面浏览功能扫描了用户存储根目录,导致 KOReader 崩溃;KOReader 以 no framework 模式运行,崩溃后原生系统框架无法可靠恢复;USBNetwork 自动占用 USB 接口,SSH 又未启动,失去所有维护入口;最后执行恢复出厂设置触发了卡大树。如果其中任一环节可以避免,都不至于走到这一步。
如果你也有一台越狱的 Kindle,以下几点值得留意:
- 避免以 no framework 模式运行 KOReader,让原生系统框架作为界面兜底;确需使用时,接受相应的恢复风险。
- USBNetwork 不要自动启用,按需手动开启,使用后立即关闭,并确认 USB 存储模式正常,避免"USB 被网络模式占用、SSH 又没有启动"的封锁状态。
- 只安装来源可靠、与当前固件及 KOReader 版本兼容的插件,每次只安装或升级一个,出现问题优先回退最近变更。
- 将 KOReader 根目录设置为专用图书目录(如 /mnt/us/documents),避免封面浏览功能扫描用户存储根目录;出现异常时修正 lastdir 并清理封面缓存。
- 设备无响应时先等待,不要立即强制重启,优先尝试正常退出或重启 KOReader。
- 定期备份文档和 KOReader、插件配置。
- 恢复出厂设置是最后手段,越狱机器上风险尤其高。出现"内容不可用"时先检查用户存储的文件系统状态,再处理 USBNetwork、缓存和配置问题,最后才考虑重置;动手前在电脑上备好匹配的官方固件和恢复说明,必要时使用 DO_FACTORY_RESTORE。
总结下来:保留原生系统框架作为界面兜底,USBNetwork 按需开启,把 KOReader 的根目录设置为图书目录,任何时候至少保留一个不依赖 KOReader 的维护入口。