Kindle 固件升级到 5.12.2 之后如何恢复越狱?

自从 Kindle 固件升级到 5.12.2 之后,很多小伙伴发现越狱好像失效了,甚至连搜索框都不识别 ;log 命令,只是将其当作普通搜索词,展示一个空的搜索结果,自然也无法像往常一样恢复越狱插件了。

实际上,固件升级至 5.12.2 版本后,大概率越狱会和往常一样并没有失效,只是新固件在搜索栏上做了手脚,封堵了运行 ;log 命令的入口,这样即便越狱还在,你也无法通过命令安装 KUAL 等越狱插件。

对于 ;log 命令失效的问题,MobileRead 论坛上倒是有人给出了一种解决方案(小伙伴 make之达人 也在留言中贴出了这个方案),即让 Kindle 在重启时执行一个名为 emergency.sh 的 Shell 脚本,从而让 Kindle 系统恢复 ;log 命令。但是这需要一个硬性条件,那就是必须安装较新版本的 hotfix 文件(即 2019 年 10 月 7 日发布的或更新的版本),否则,重启 Kindle 是无法成功执行这个 Shell 脚本的。

如果你在升级 5.12.2 版本固件前,恰好安装了最近发布的 hotfix 文件,完全可以按照上述方法轻松恢复 ;log 命令。但是遗憾的是,和很多很早之前越狱的小伙伴一样,书伴手中的 Kindle Paperwhite 4 也在很久前越狱后就再也没碰过,所以升级新固件前,并未来得及安装新版本的 hotfix。

后来书伴又把 KPW4 的固件升级到了 5.12.3,基本上放弃了越狱的打算,直到下面这个巧合出现。

亚马逊刚刚发布了 5.12.4 版本固件,在例行升级固件的过程中,偶然瞥见 Kindle 屏幕上显示了一些原生系统不会出现的提示信息字符(想必越狱过的小伙伴都熟悉安装越狱文件或插件的时候屏幕上出现的字符),这让书伴忽然意识到,之前为了测试把 Shell 文件 emergency.sh 遗留在了 Kindle 根目录,难道更新固件时因为某种原因把它执行了?升级完成后,发现果然如此,脚本文件的确被成功执行了。

按照 MobileRead 论坛上那个方案的步骤,成功执行 Shell 脚本后需要再次重启 Kindle 让脚本的修改生效,然后书伴把恢复越狱教程提供的 RUNME.sh 文件放入 Kindle 根目录,在搜索框中输入 ;log runme 命令,左上角出现了预期的 “Hello World!”字符,这证明 ;log 命令确实恢复了,越狱也没失效。

为了验证这不是一个巧合,书伴又拿另外一台因为升级 5.12.2 版本固件导致无法正常使用越狱的 Kindle Paperwhite 3(当前固件版本 5.12.3)用同样的方法测试了一遍,结果同样恢复了 ;log 命令,并能正常安装越狱插件。这的确是个巧合,虽然不知道是什么机制导致的,但重要的是能让越狱恢复正常了。

下面书伴就将恢复的步骤分享出来,希望有着同样问题的小伙伴也能利用这个方法成功恢复越狱。

一、恢复越狱的条件

目前这个方法只在 KPW3 和 KPW4 两款 Kindle 设备上测试成功过,感觉应该也适用于其它 Kindle 型号。在进行下面的具体操作步骤前,需要确保你的 Kindle 设备满足以下条件:

  • 升级到 5.12.2 固件之前利用特制固件成功越狱过(升级前能正常使用越狱);
  • 升级到 5.12.2 固件之后无法成功运行 ;log 命令(即仅显示搜索结果);
  • 升级到 5.12.2 固件之后无法直接使用 Shell 脚本 emergency.sh 恢复 ;log 命令;
  • 当前固件有可用的升级版本(比如 5.12.3 是当前版本,可用的升级版本是 5.12.4)。

二、恢复越狱的步骤

如果你的 Kindle 设备满足以上条件,就可以按照以下步骤操作了:

  1. 下载比当前 Kindle 固件版本更新的固件文件(比如当前版本是 5.12.3 就可以下载 5.12.4);
  2. 下载 restore_log_0.1.zip 解压获取脚本文件 emergency.sh 备用:百度网盘【提取码:mr94】;
  3. 新固件文件和 Shell 脚本文件 emergency.sh 一并拷贝到 Kindle 根目录;
  4. 弹出 Kindle 磁盘(或安全移除),但是不要拔掉 USB 数据线,通过菜单重启 Kindle;
  5. 如果你的 Kindle 固件版本大于等于 5.12.5,需要注意,当固件更新的进度条走完的一刹那,需要手动拔除 USB 数据线,然后等待 Kindle 重启;(感谢小伙伴 loghder 提供的经验)
  6. 重启完毕后,如果一切正常的话,可以在 Kindle 根目录看到以下这三个文件:
    • done_emergency.sh
    • old_debug_cmds.json
    • new_debug_cmds.json
  7. 再次重启 Kindle,就可以正常使用 ;log 命令并重新安装恢复相关插件了。

特别提示!重启完成后,点击搜索框后执行 ;log 命令时,一般会出现之前执行失败的 ;log 搜索历史记录,注意一定不要偷懒点击这个搜索记录,而是要用虚拟键盘重新输入 ;log 命令,按回车执行。

懂得 Shell 脚本的小伙伴不难看出,脚本 emergency.sh 其实只是做了一件事,就是向系统中的文件 debug_cmds.json 增添了 ;log;mrpi 两个命令(;mrpi 可以看作是 ;log mrpi 的别名),通过对比脚本备份的 old_debug_cmds.json 和 new_debug_cmds.json 这两个文件,也可以看到它添加的内容。

可能 debug_cmds.json 就是允许在 Kindle 设备的搜索栏输入特殊命令的关键文件(包括原生系统自带的一些特殊命令 ;711~ds 等),而新固件可能就是通过重置这个文件,导致 ;log 命令失效的。

三、KUAL 白屏问题

书伴手上的 KPW4 在升级到 5.12.2 固件版本后,曾通过原生系统自带的“存储管理”的“手动删除”功能删掉过 KUAL,不知道是否是因为这个原因,恢复 KUAL 插件时遇到了白屏问题(打开 KUAL 之后无法正常显示菜单项),而 KPW3 之前没有删除 KUAL,恢复 KUAL 时没有遇到白屏问题。

如果你也遇到了 KUAL 白屏的问题,可尝试按照下面这个步骤解决:

  1. 下载 KUALBooklet.jar:百度网盘【提取码:mtsr】;
  2. 下载 RUNME.sh:百度网盘【提取码:bxck
  3. 将 KUALBooklet.jar 和 RUNME.sh 拷贝到 Kindle 根目录;
  4. 在 Kindle 的搜索栏中重新输入命令 ;log runme
  5. 重启你的 Kindle 设备即可正常使用 KUAL。

注意,打开 KUAL 时可能会有几秒钟(KPW4 大概 7 到 9 秒)的延迟才会显示菜单,如果等了很久仍然显示白屏,建议尝试按照常规的越狱插件安装方法重新安装一遍最新版本的 KUAL。

由于测试样本较少,书伴无法保证此方法适用于所有 Kindle 设备。如果你的 Kindle 设备符合操作条件,并且按照步骤操作之后成功恢复了越狱功能,请留言告知设备型号,方便其它小伙伴参考。

—————-

※ 反馈更新:根据小伙伴 marsKumahxgYinr 的留言反馈,本文方法在 KPW2、KPW3、KV、KO 三种型号上测试通过,均可成功恢复 ;log 命令。根据 MobileRead 论坛的网友 Roker2RnJ4 反馈,本文方法在 KPW3 型号上测试通过。其中,后者还反馈,将 emergency.sh 放在根目录并通过 OTA 更新,也可成功恢复 ;log 命令。

有帮助,分享给其他小伙伴:

发表评论

标注为 * 的是必填项。您填写的邮箱地址将会被保密。如果是在本站首次留言,审核后才能显示。
若提问,请务必描述清楚该问题的前因后果,提供尽可能多的对分析该问题有帮助的线索。

小伙伴们发表了 137 条评论

  1. 想问一下现在kpw2固件5.12.2,以前没有越狱过,现在有越狱的方法吗?找了找没有找到,谢谢啦

  2. 请问一下现在kpw3 5.12.4还可以越狱嘛,以前没有越狱过,翻了书伴很久,也没有成功的案例,准备想TTL 试试看了

    • 这个版本没有可用的软件越狱方案。通过 TTL 可以实现越狱,如果决定使用此方法,建议做足功课再上手操作。

  3. 设备:PW3
    系统:5.9.6.1
    问题:越狱成功并安装越狱固化等后,直接下载固件5.10.3更新固件后能恢复越狱状态吗?

    • 一般情况下,只安装了最新版本 hotfix,升级固件后应该是能保持越狱的。但也要留意,升级固件总会有一定的几率使越狱丢失。

      • 我的PW3现在的系统是5.10.3的 我想固化此版本并恢复越狱 操作步骤和您文章中的一致吗?

        • 如果你遇到在 Kindle 搜索框输入 ;log 命令后只显示搜索结果不执行的情况,就可以尝试使用本文提供的方法。另外,抱歉不太明白你说的“固化”是什么意思。

  4. 求教,我的ko1昨天升级固件到了5.13.1,按照本文的引导进行了恢复越狱操作。
    成功进行了第6步,可以在 Kindle 根目录看到以下这三个文件:
    done_emergency.sh
    old_debug_cmds.json
    new_debug_cmds.json
    然而,再次重启kindle,还是不能执行log 命令,手动输入;log mrpi或者;log runme均只显示搜索结果。
    (这里不确定“;”还是“;”,我的kindle软键盘只能输入“;”)。
    急求书友帮助

      • 我切换了键盘语言,但是分号都是“;”,手动输入“;log mrpi”或者“;log runme”还是只显示搜索结果。
        不知道咋整了,难道是键盘有问题?允悲

        • 我测试了一下,不论中文输入法还是英文输入法,输入的分号都是半角的,也就是说你遇到的可能不是分号的问题。