如何禁止 Kindle 自动更新(五招阻止固件升级)
当亚马逊发布新固件后,会通过 OTA(Over-the-Air,空中下载)的方式陆续推送到 Kindle 设备中,并在没有任何提醒的情况下自动更新,这种不给用户选择权的做法,也是被很多小伙伴诟病的地方。
由于某些原因(比如不喜欢新固件界面、越狱后需要重新安装插件),很多小伙伴想要阻止更新固件,在文章留言区也是经常回复此类问题,所以感觉有必要分享一下禁止更新的方法。
Kindle 固件禁止升级目前有四种方式:1、开启 Kindle 的“飞行模式”;2、让磁盘剩余空间不足 150MB;3、伪装新固件未完成下载文件;4、安装禁止自动升级的越狱插件。详细介绍如下。
一、开启 Kindle 的“飞行模式”
新固件是通过网络利用 OTA 传送到 Kindle 中的,只要不让 Kindle 联网就可以保证不被自动升级。开启“飞行模式”的方法也很简单,点击 Kindle 屏幕上方会调出控制条,点击控制条上的“齿轮”图标,在弹出的快捷操作中,点击“飞行模式”即可开启。
这种方式虽然可行,却有局限性。由于 Kindle 的一些功能,比如电子书商店、推送、数据同步功能都是需要网络支持的,所以打开飞行模式就无法使用这些功能。
有的小伙伴可能想到一种小技巧,平时开启飞行模式,只在需要联网的时候关闭,看起来是个不错的方法,但需要注意的是,通过 OTA 传送的固件文件可能是断点续传的方式传送的,也就是你开一会儿网络,它就下载一点儿,当你开启的次数较多,也会下载完成并自动更新。
二、使磁盘剩余空间不足 150MB
Kindle 升级固件时会先把要更新的固件通过 OTA 下载到本地,下载完毕后后自动激活升级程序进行升级。在在售的 Kindle 设备中,最大的更新固件如 Kindle Voyage 有 220MB 左右,最小固件如入门版 Kindle 也有 190MB 左右。也就是说,把 Kindle 磁盘空间塞满,让其空间不足 150MB,也可以阻止 Kindle 成功下载固件文件,达到禁止 Kindle 固件自动升级的目的。
对于使用 Windows 系统的用户,可以使用网友 Amos 提供的程序,快速生成文件(后缀为.prlm,文件内容全部为无意义的空格符),使得当前磁盘下剩余空间等于 150M 达到阻止 Kindle 下载更新固件。对于磁盘格式为 FAT32 的 Kindle,当磁盘大小大于 4GB 时,会生成若干 3.5G 的文件以确保填充成功。
- 程序下载地址:百度网盘〈提取码 :
ys3x
〉
对于使用 macOS 系统或 Linux 系统的用户,可保存并运行以下 Shell 脚本代码填充占位文件:
#!/bin/bash
v=$(df -k | awk 'NR>1 {printf "[%d] %s %d\n", NR-1, $NF, $4}' | column -t)
echo "当前系统中的所有设备:"
echo "------------------------"
echo "$v"
echo "------------------------"
echo -n "选择Kindle设备(输入序号):"
read n
read d s <<< $(echo "$v" | awk -v n=$n 'NR==n {print $2" "$3}')
echo "------------------------"
if [ -d $d/documents -a -d $d/system ]; then
a=$(($s - 150000))
if (($a > 0)); then
echo "正在将占位文件写入到${d}..."
dd if=/dev/zero count=$a bs=1024 2>/dev/null |
split -b 3500000k -a 1 - $d/disable_update. &&
echo "------------------------"
echo '占位文件写入完毕!'
else
echo '空间小于150MB,无需填充。'
fi
else
echo '这不是一个Kindle设备。'
fi
三、伪装新固件未完成下载文件
* 提示:如果你的 Kindle 固件版本大于 5.10,此方法可能会失效。
这个方法很简单,只需要再 Kindle 根目录创建一个名为 update.bin.tmp.partial 的文件夹即可。
当亚马逊为 Kindle 推送固件更新时,会在 Kindle 根目录创建一个名为 update.bin.tmp.partial 的临时文件(该文件就是未下载完成的新固件文件,即便网络不稳定,它也会不断续传直至下载完毕),如果 Kindle 根目录有与其同名的文件夹,它就无法创建了,从而达到阻止 Kindle 固件自动更新的目的。
四、定时清空未下载完成的文件
此方法需要越狱并能正常使用 ;log
命令。以下脚本会为 Kindle 添加一个计划任务,每分钟清空一次未下载完毕的固件文件,理论上。只要固件无法在一分钟内下载完就永远无法下载完。
具体方法为,先将以下内容粘贴到名为 RUNME.sh 的文件中(或点击下面的下载链接下载脚本文件),然后将此文件拷贝到 Kindle 根目录,最后在 Kindle 的搜索框中输入 ;log runme
并按回车。运行成功后 Kindle 根目录会出现文件 crontab_backup.txt(仅做预览之用,可删除)。
#!/bin/sh
mntroot rw
CRONTAB=/etc/crontab/root
ROOTPATH=/mnt/us
FILENAME=update.bin.tmp.partial
SCHEDULE="* * * * * /bin/sh -c 'echo "" > $ROOTPATH/$FILENAME'"
if [ -n "$(cat $CRONTAB | grep $FILENAME)" ]; then
sed -i "s#.*${FILENAME}.*#${SCHEDULE}#" $CRONTAB
else
sed -i ':a;N;$!ba;s#\n$##' $CRONTAB
echo "$SCHEDULE" >> $CRONTAB
fi
cp $CRONTAB $ROOTPATH/crontab_backup.txt
kill -s HUP $(pidof crond)
eips 2 2 'Scheduled: remove firmware every minute.'
五、安装禁止自动升级的越狱插件
注意,使用插件禁止升级,需要确保你的 Kindle 已越狱并安装了 KUAL 插件。
1、Rename OTA binaries
该插件阻止升级固件的思路是重命名 Kindle 更新固件的两个程序 /usr/bin/otaupd
及 /usr/bin/otav3
,使升级操作无法正常工作。MobileRead 论坛的网友 Hzj_jie 提供了此方法的思路,网友 hius07 提供了实现此思路的插件。该插件的具体安装及使用步骤如下:
- 下载 renameotabin.zip,解压得到 renameotabin 文件夹;
- 使用 USB 数据线把 Kindle 连接到电脑,直到出现 Kindle 磁盘;
- 把 renameotabin 文件夹拷贝到 Kindle 中的 extensions 文件夹中;
- 安全弹出 Kindle 磁盘,在 Kindle 中打开 KUAL(Kindle Launcher);
- 依次点击菜单【 Rename OTA binaries → Rename】重命名 Kindle 的升级程序。
随后 Kindle 会自动重启,以停止当前正在运行的升级程序。注意,点击【Rename OTA binaries】并重启后,你的 Kindle 将无法自动升级新固件,也无法手动通过 Kindle 的菜单或安装新固件,如果想要恢复,需要点击该插件中的【Restore】重新启用升级程序。
2、BackDoorLock hack
* 提示:此方法需越狱。如果你的 Kindle 固件版本大于 5.12,此方法可能会失效。
MobileRead 论坛的网友 dsmid 提供了一个名为 BackDoorLock hack 的 KUAL 插件,用来禁止 Kindle 的包括自动升级在内的“网络后门”活动的。插件的具体安装及使用步骤如下:
- 下载 backdoorlock_kual_12.zip,解压得到 backdoorlock 文件夹;
- 使用 USB 数据线把 Kindle 连接到电脑,直到出现 Kindle 磁盘;
- 把 backdoorlock 文件夹拷贝到 Kindle 中的 extensions 文件夹中;
- 安全弹出 Kindle 磁盘,在 Kindle 中打开 KUAL(Kindle Launcher);
- 依次点击菜单【 Back Door Lock → Lock the back door 】开启插件。
你可以点击 Lock state 查看插件状态,也可以点击 Delete update file(s) 删除升级固件文件。
3、BookFere Tools
此插件实际上采用的是上面提过的“使磁盘剩余空间不足 150MB”的方法,只是通过插件实现相比手动操作更方便一些。插件的下载以及具体安装方法可参考《BookFere Tools:包含一些实用小工具的越狱插件》这篇文章,此处不再赘述。
插件安装完成后,可以通过点击【Disable Firmware Update】中的【Fill Placeholder】填充 Kindle 的存储空间直至剩余 150 MB,以达到禁止 Kindle 固件升级的目的。如果想要释放被填充的空间,可以点击【Delete Placeholder】删除填充文件。
以上便是禁止 Kindle 固件自动升级的几种方法。如果你使用了这些方法,不论是否有效欢迎留言反馈。
© 「书伴」原创文章,转载请注明出处及原文链接:https://bookfere.com/post/472.html
延伸阅读
- 周保松:我多年来的一点读书体会
- 乐书:在线 Kindle 电子书制作和转换工具
- 盗版电子书网站 Z-Library 域名被美国邮政检查局查封
- 全面数字化的时代,我们该怎样读书?
- 不再犹豫!购买决策参考图帮你选最适合的 Kindle
- 解读哲学家:牛津通识读本系列丛书摘选推荐
- [每周一书]《呼兰河传》生与死的悲歌
- [每周一书] 《故事》不仅仅可用于创作剧本
- Sherry推荐图书(十九)—— 走进诗词
- 如何制作完美的 Kindle 期刊杂志格式排版的电子书
- 升级后的 558 入门版 Kindle 都有哪些改进
- 格非:盲目“信书”比不读书更糟糕
- [每周一书]《意志力》专注、自控与效率的心理学
- [已恢复] 因服务器升级 Kindle 商店显示 0 本电子书
- Kindle 推送教程:教你用电子邮箱推送电子书
二、使磁盘剩余空间不足 150MB 中mac 运行shell代码时需要密码?
如果访问磁盘需要权限就需要密码。
请教各位大佬,KPW4固件版本5.16.3,伪装固件文件update.bin.tmp.partial还有用么。。。
同问
新程序吗?
BinaryRenamer
https://www.mobileread.com/forums/showthread.php?p=4376256
ko2 降级到10.3的使用BackDoorLock hack把后门锁住 一觉醒来还是升级到最新固件 kpw3使用这个插件在根目录还是看到update文件在下载
Rename OTA binaries安装的过程中,第4步 在 Kindle 中打开 KUAL(Kindle Launcher)? 有点不太懂怎么打开
首页最大的那本书就是
我kindle型号是k8,本来越狱成功了,并且已经安装KUAL插件,可以使用。但是在安装USBNetwork Hack时kindle重启导致固件版本升级为5.14.3.2,在kindle点击KUAL显示应用程序出错,请问这样还有补救措施吗?没有的话我就去重置kindle啦
不论是更新固件还是降级固件后,都需要重新安装一遍 Hotfix 和包括 KUAL 在内的插件。
好的!谢谢!我找到了这个帖子:《Kindle 升降级固件或重置后如何恢复越狱和插件》https://bookfere.com/post/979.html