通用 Kindle 固件降级教程:支持所有已越狱 Kindle 设备
之前书伴曾在《Kindle 固件降级教程:支持部分已越狱 Kindle 设备》这篇文章中介绍过一种将 Kindle 降级到低版本固件的方法,但是仅适用于部分已越狱的 Kindle 设备,有的需要额外安装急救包插件,有的需要使用特制固件才能降级,而对于型号更新的 Kindle 设备如 Kindle Oasis 3 和 Kindle Paperwhite 5,既不能安装急救包插件也没有适用的特制固件的,就无法降级了。
小伙伴 xwcoco 在书伴的留言区提供了一个好消息,MobileRead 论坛的网友 katadelos 发现了一种新的降级方法[1],只要你的 Kindle 已经成功越狱,通过简单的修改 Kindle 系统中的一个文件,即可直接使用低版本的官方固件进行降级,无需额外安装插件,也不需要使用特制固件。
目前已验证的通过本文提供的方法成功降级的 Kindle 设备型号有 Kindle Paperwhite 5(含 Signature 版)、Kindle Paperwhite 4(书伴自测)、Kindle Paperwhite 3、Kindle Oasis 3、Kindle Oasis 2、Kindle Voyage、Kindle 8。如果你的 Kindle 设备也验证了此方法,欢迎留言反馈。
【 风险提示 】有小伙伴反馈(1,2),按照本文提供的方法为 Kindle Oasis 3(KO3)降级后,出现了无法正常启动的情况,这表明本文提供的方法存在一定的风险,请谨慎使用。
一、降级原理
Kindle 系统中存在一个名为 /etc/version.txt 的文件,其内容中含有“系统软件版本”,Kindle 设备的固件升级程序会将待更新固件的版本与这个版本进行比对,如果要更新的版本大于等于这个版本就允许更新,否则就拒绝。因此,我们可以通过将文本文件中的“系统软件版本”替换成比当前固件版本更小的“系统软件版本”,以达到欺骗固件升级程序、实现降级固件的目的。
那该怎么获取比 Kindle 设备当前固件版本更小的“系统软件版本”呢?亚马逊为每一个公开发布的 Kindle 固件提供了源代码压缩包,其文件名除了带有固件版本号,还带有一串数字(内部版本号),这一串数字与文本文件中“系统软件版本”的数字是一一对应的,只是存在形式上的差异,我们可以通过简单的规则就可以将其转换成 Kindle 升级程序所需要的“系统软件版本”。
通过 SSH 登录 Kindle 系统,打开文件 /etc/version.txt 可看到类似如下所示的内容:
System Software Version: 059-juno_1402_moonshine_rex-380714
Tue Feb 1 02:50:02 UTC 2022
com.lab126.eink.moonshine.os
找出第一行“System Software Version”(这也就是前面所提到的“系统软件版本”)后面那一串由横杠分割成三部分的字符,取出第一部分数字和最后一部分数字,比如上面这个示例中的 059 和 380714,将其按照这样一种规则 380714 + 0 + 059 重新拼接成这样一组数字 3807140059。
然后前往 亚马逊 Kindle 设备固件源代码页面,利用网页浏览器的页面查找功能搜索组合后的数值,就可以找到与 Kindle 设备当前固件相对应的源代码压缩包文件,该压缩包中的固件版本号也与 Kindle 当前固件版本号一致,比如本例是 Kindle_src_5.14.2_3807140059.tar.gz。
根据这个规律,我们可以反其道而行,先确定要降级的固件版本,然后找到与该版本固件相对应的源代码压缩包,并通过文件名中的数字重新组合成固件升级程序所需要的“系统软件版本”。
假设,想要将已越狱的当前版本号为 5.14.3.0.1 的 Kindle Paperwhie 4 降级到 5.13.3 版本固件,可以先找相应的源代码压缩文件的文件名 Kindle_src_5.13.3_3676000033.tar.gz,取出里面的 3676000033 这一串数字,将其拆分成 033 和 367600,替换 /etc/version.txt 中“System Software Version”后面那一串字符的第一部分数字和最后一部分数字,替换后的内容如下所示:
System Software Version: 033-juno_1402_moonshine_rex-367600
Tue Feb 1 02:50:02 UTC 2022
com.lab126.eink.moonshine.os
最后就可以下载 5.13.3 版本的官方固件,按照常规手动升级官方固件的方式进行降级了。
二、降级步骤
在开始下面的步骤之前,需要确保你的 Kindle 已经成功越狱。如果你的 Kindle 设备还未越狱,可参考《Kindle 越狱支持一览:检查 Kindle 设备能否越狱》这篇文章检查自己的 Kindle 设备是否满足越狱条件,若满足条件,可根据页面中提供的相关文章完成越狱再进行下面的步骤。
方法一:适用于能够运行 ;log
命令
为了简化操作,书伴将涉及修改 Kindle 系统文件的操作写成了自动化的 Shell 脚本,免除了手动登录 Kindle 系统及修改相关文件的繁琐步骤。你可以遵循以下步骤方便快捷地降级固件:
- 使用下方的选项菜单选择你的 Kindle 设备型号,在出现的列表中确定要降级的固件版本;
- 将与固件版本相对应的 Shell 脚本文件“RUNME.sh”和“官方固件”文件下载到本地;
- 用 USB 数据线将 Kindle 设备连接至电脑,将“RUNME.sh”拷贝到 Kindle 根目录;
- 弹出磁盘,在 Kindle 的搜索框中输入
;log runme
并按回车,自动修改“系统软件版本”; - 再次用 USB 数据线将 Kindle 设备连接至电脑,将“官方固件”文件拷贝到 Kindle 根目录。
- 弹出磁盘,进入 Kindle 界面,依次点击菜单【设置 → 设备选项 → 重启】或【设置 → 设备选项 → 高级选项 → 重启】重启 Kindle(或长按 Kindle 按钮重启),并完成自动降级。
如果降级后出现某些功能不正常的情况,可备份一下数据,重置一次 Kindle。
* 提示:脚本会将原始的 /etc/version.txt 文件备份到你的 Kindle 根目录,如不需要可以删除。
下载官方固件时,如果无法通过点击官方下载链接直接下载,可以尝试使用迅雷等下载工具下载。或者前往“固件大全”页面,通过书伴提供的百度网盘链接下载。
选择固件版本的时候请注意,由于亚马逊曾经强制升级过老型号 Kindle 设备的固件,太老的固件版本会影响亚马逊网络服务的使用,因此,如果你在降级固件后仍想登录亚马逊账号、使用 Kindle 商店以及 Kindle 个人文档服务,建议使用 5.6.x 及更新版本的固件文件。
方法二:适用于无法运行 ;log
命令
此方法为网友 Give5946 投稿(原文),通过重启 Kindle 执行急救脚本修改版本号的方式让 Kindle 支持固件降级。如果你无法运行 RUNME.me 脚本可以尝试此方法。
事情是这样的:我买了一个 Kindle,并把它越狱了。然后我打开了WiFi(我犯了个错,以为越狱会关闭自动更新),亚马逊在没有提示的情况下将它升级到了 5.16.4。除了我在启动时仍然有“**** JAILBREAK ****”消息外,其他都不起作用。
以下是我恢复越狱的方法(基于 mergen3107 11-22-2023 #484)
在此处下载 NiLuJe 的 K5 越狱包,提取 emergency-bridge-recovery.zip 文件。
解压缩,编辑 emergency.sh,在文件的末尾,您应该找到以下几行:
# Bye
sync
mntroot ro
就在这些行之前添加这个(感谢 Marek):
# Patch version
VER=336034
cp /etc/version.txt /mnt/us/version.txt.backup
sed -i -E "1 s/(-)([0-9]+)$/\1${VER}/g" "/etc/version.txt"
将这些文件复制到 Kindle 的根目录:
bridge.conf
bridge.sh
emergency.sh
RUNME.sh
重新启动 kindle。这些文件通常会消失,并会出现 /mnt/us/version.txt.backup 文件。现在您可以将固件降级到适用于越狱的版本(比如 5.16.2.1.1),Kindle 将接受以前的固件。 降级后,你的系统会有点混乱,因此请恢复出厂设置。你现在有一个全新的系统,准备再次越狱吧!
四、常见问答
如果你在降级的过程中遇到如下所示的问题,可尝试给出的解决方案。
1、降级后白屏怎么办?
如果在白屏的状态下,通过 USB 数据线将 Kindle 连电脑可以出现磁盘,备份重要的文件,可以在 Kindle 根目录创建一个名为 DO_FACTORY_RESTORE 的空文件(不带扩展名),按 Kindle 的按钮 40 秒重启,Kindle 会自动恢复出厂设置,一般情况下可解决白屏的问题。
2、如何禁止自动更新?
禁止自动更新体可参考《如何禁止 Kindle 自动更新(四招阻止固件升级)》这篇文章。
3、如何恢复越狱插件?
降级固件后,一般情况下不需要重新越狱,但是需要用 ;log
命令重新安装失效的插件。如果发现插件无法正常安装,重新安装一遍最新版 hotfix 修复一下越狱即可恢复正常。恢复越狱和插件的具体步骤可参考《Kindle 升降级固件或重置后如何恢复越狱和插件》这篇文章。
© 「书伴」原创文章,转载请注明出处及原文链接:https://bookfere.com/post/979.html
延伸阅读
- [三星特惠] 2017.02 三星版 Kindle 特享优惠推荐
- [每周一书]《匠人》失落的故乡与故人
- 新生产的 Kindle Voyage 已修复“阴阳屏”问题
- 交互设计经典读物:让理论为实践加把劲儿
- [每周一书]《艺术:让人成为人》人文通识教育的入门书
- Kindle 通用越狱教程:适用版本小于等于 5.16.2.1.1 固件
- Calibre 使用教程之为 Kindle 电子书添加页码
- Kindle Touch 固件升级到 5.3.7.2
- [2015.08.11] Kindle 阅读器系列产品固件升级
- [2018.12.13] Kindle 阅读器固件升级至 5.10.2
- [2023.04.24] Kindle Scribe 固件升级至 5.16.1.3
- [2018.06.14] Kindle X 咪咕版固件升级至 5.7.2.3
- 为什么 Kindle 调用的字体和电子书语言不匹配
- GitBook 制作 Kindle 电子书详细教程(命令行版)
- 2017 年亚马逊会发布 Kindle Paperwhite 4 吗?
你好,我的设备已经越狱过,现在的系统是5.12.2.2,因为偶尔会重启比较头疼,所以想恢复原生系统,请问应该怎么操作,谢谢。
消除越狱的方法为:重置并升级到最新固件。
SSH 怎么登录 Kindle 系统?谢谢
两种方法:一种是安装 USBNetwork Hack,另一种是安装 KOReader(使用其内置的 SSH 功能)。
ko1 在这里无法进入
弹出磁盘,在 Kindle 的搜索框中输入 ;log runme 并按回车,自动修改“系统软件版本”;
k10(青春版)能降级吗?
感谢您的教程。已经成功将kindle7降级回之前没有广告的版本。看更新日志选择了一个可以调节中文粗细的5.9.4。现在使用感觉良好
KPW3(G090G1)成功从5.12.2降至5.6.5。没有遇到先前留言中的错误,不知道是什么缘故。
kv越狱降级5.6.5成功后使用一天重启,一直卡在小人和大树界面转圈圈,一直不动,这个怎么解决?
用 USB 数据线连电脑后能正常显示磁盘吗?
亲测Kindle 7(K7,第7代)及Kindle Paperwhite 3(KPW3,第7代)可以降级成功,目前降级到5.8.11,主要是想用知乎这个贴《kindle越狱及插件推荐&附带两个小游戏》里的象棋程序,测试降级后可以使用此象棋,太高版本的固件反而识别不出来。 注意,降级后KUAL插件失效,所以首先应调到飞行模式禁止固件自动升级,再把Update_KUALBooklet_v2.x.xx_install.bin 文件,拷贝到 Kindle 根目录下的 mrpackages 文件夹,然后在 Kindle 搜索框中输入 ;log mrpi 点击回车重装KUAL,然后用Rename OTA binaries插件更改下更新程序的名字,防止自动升级固件,然后就可以把飞行模式关闭了。
有人能否提取5.6几的,能够支持关联KOreader的KVPbooklet的设置文件?就是extensions目录里的KVPbooklet文件夹?我想试试是不是新版本这里缺少相关设置
kpw4越狱后系统自己升级为5.14.3.2的可以降级吗
如果越狱没有失效就可以降级。
ko3降级死机的问题,原作者已经作出了回答。
就是ko3降级不能低于出厂版本,一旦低于出厂版本,就死机。
不同时间生产的,版本也不相同。
现在我已经成功降级
大家不记得出厂版本的,可以按购买时间来推算
kpw4 14.3.2版本可以降级吗
官方固件不支持降级。这个固件版本需要等有新的越狱方法出现才能降级。
降级成功后,白板,按教程建立了空文件,重启,一切正常,但问题来了,插入电脑,提示要格式化,请问如何处理?
kpw2通过此方法降级到5.4.3.2
可以了,从网上下载一本书就好了
没越狱的咋降级啊
必须越狱才能降级,因为官方固件不支持降级。
尴尬了,想越狱得先降级,想降级得先越狱,好难受啊
kpw3越狱成功后从5.13.7降级至5.11.1.1 白屏有背光,可以操作磁盘,也有屏保,就是无法进入操作界面
常见问答第二条有写
“如果在白屏的状态下,通过 USB 数据线将 Kindle 连电脑可以出现磁盘,备份重要的文件,可以在 Kindle 根目录创建一个名为 DO_FACTORY_RESTORE 的空文件(不带扩展名),按 Kindle 的按钮 40 秒重启,Kindle 会自动恢复出厂设置,一般情况下可解决白屏的问题。”
尝试了这个方法还是无效