
手上的红米 K40S 已经服役了 3 年多, 从 MIUI 12 升级到 MIUI 13, 再到现在的 HyperOS 1.0 (Android 14), 官方的系统支持肯定是结束了, 在更换手机或者转为备用机之前,还想继续折腾一下, 当然也有其它几个方面的原因,一并说明如下:
鉴于以上几点原因, 准备将 K40S 解锁并安装 LineageOS 。
现在小米刷类原生安卓系统最大的障碍就是解锁 Bootloader ,随着 HyperOS 的发布, 小米旗下机型解锁的难度越来越高, 令不少人都望而却步。 不出意外, 这部 K40S 将是我的最后一部小米手机, 后续机型不能解锁 Bootloader 的话, 将不会再购买小米的任何手机。
引用 GitHub 上大佬 MlgmXyysd 的话,那就是: 自从小米限制解锁 BootLoader 后,小米就一直在违背”极客”精神,甚至违背了 GPL。 原文链接
幸好, 在 github 上有一些开源的项目可以绕过小米 HyperOS 对 BootLoader 解锁账户绑定限制社区等级的 PoC , 它们是:
只要出厂是 MIUI 的手机, 一般都可以借助这两个软件成功解锁。 比较了这两个软件, 我选择的是 HyperSploit , 因为使用起来更加简单, 不用折腾 PHP 。
解锁的过程很顺利, 简单罗列如下:
虽然 HyperSploit 有 macOS 版本, 我尝试了一下,没有达到预期目标, 只好用另一台 Windows 电脑进行操作。
具体可以查看这里的 前置要求 和 使用教程 , 这两个软件的用法基本上是相同的。
幸运的是, 我的小米帐号没有被封控, 绑定到 K40S 之后, 只要等7天就可以顺利解锁。


解锁成功之后, 就可以开始安装 LineageOS 了。
在正式安装 LineageOS 之前,需要确认手机的固件版本, 如果不是最新版的话, 需要先升级到最新版, 否则安装 LineageOS 可能会失败。 目前 LineageOS 支持的 K40S 固件版本为 OS1.0.2.0.ULMCNXM ,如果是这个版本的话, 可以根据 LineageOS 的固件升级指南升级下固件。
所谓的固件 (Firmware) 也就是手机硬件的驱动程序, LineageOS 依赖官方镜像的固件驱动程序才能正常运行。
我记得以前的固件是直接包含在 LineageOS 固件中的, 现在不知什么原因,需要单独下载了,不过这些对于要刷机的人来说, 根本都不是事儿。
刷固件相当于装驱动, 对手机内的数据没有任何影响,因此可以放心刷, 步骤如下:
miui_MUNCH_OS1.0.2.0.ULMCNXM_6438305cc0_14.0.zip使用 payload-dumper-go 提取所需的固件
payload-dumper-go -o . miui_MUNCH_OS1.0.2.0.ULMCNXM_6438305cc0_14.0.zip
可以提取出许多 img 文件, 下一步用到。
将手机关机, 然后按住 音量减 + 电源 按钮开机, 进入 Fastboot 模式, 然后使用下面的命令刷入固件:
fastboot flash abl_ab abl.img
fastboot flash aop_ab aop.img
fastboot flash bluetooth_ab bluetooth.img
fastboot flash cmnlib_ab cmnlib.img
fastboot flash cmnlib64_ab cmnlib64.img
fastboot flash devcfg_ab devcfg.img
fastboot flash dsp_ab dsp.img
fastboot flash featenabler_ab featenabler.img
fastboot flash hyp_ab hyp.img
fastboot flash imagefv_ab imagefv.img
fastboot flash keymaster_ab keymaster.img
fastboot flash modem_ab modem.img
fastboot flash qupfw_ab qupfw.img
fastboot flash tz_ab tz.img
fastboot flash uefisecapp_ab uefisecapp.img
fastboot flash xbl_ab xbl.img
fastboot flash xbl_config_ab xbl_config.img
如果一切正常, 重启手机即可。
经过前面的解锁和固件更新,终于可以开始安装 LineageOS 了。 从 LineageOS 的网站下载最新的 K40S 的安装镜像 , 目前的版本是 lineage-22.2-20251117-nightly-munch-signed.zip , 文件需要的文件列表为:
再次将手机重启到 Fastboot 模式, 用下面的命令来刷写启动分区:
fastboot flash boot boot.img
刷写启动分区之后, 可以保证恢复 (Recovery) 分区正常工作, 接下来刷写恢复分区:
fastboot flash vendor_boot vendor_boot.img
刷写恢复分区完成之后, 启动到恢复模式:
fastboot reboot recovery
在恢复模式下, 选择 Factory Reset ,然后 Format data / factory reset 清空全部数据 。
重要数据一定要记得提前备份!!!
在恢复模式下, 选择 Apply Update -> Apply from ADB , 然后在电脑上执行下面的命令刷入 LineageOS 系统镜像:
adb -d sideload lineage-22.2-20251117-nightly-munch-signed.zip
通常情况下,adb 会报告 Total xfer: 1.00x ,但在某些情况下,即使进程成功,输出可能会停在 47%并显示 adb: failed to read command: Success 。在其他情况下,它可能会显示 adb: failed to read command: No error 或 adb: failed to read command: Undefined error: 0 ,这也是可以的。
刷完 LineageOS 系统镜像之后, 先不要重启手机, 接下来再刷入谷歌服务, 如果不需要谷歌服务的话, 则不需要这一步。
从 MindTheGapps 下载谷歌服务安装包, 目前的版本是 MindTheGapps-15.0.0-arm64-20250812_214357.zip , 用 adb sideload 命令刷入:
adb -d sideload MindTheGapps-15.0.0-arm64-20250812_214357.zip
手机会提示签名不正确, 这是正常的, 因为 MindTheGapps 没有使用 LineageOS 的签名。
现在可以重启手机, 启动全新的 LineageOS 系统了。
|
|
不排除是 LineageOS 动画时间短的原因;
快应用 、手机管家 等无法关闭的后台服务;流畅画面 (自动将某些内容的刷新频率提高到 120Hz , 主要是动画和过渡);设置 -> 电池 页面为安装的每个应用设置温控策略, 而不必安装什么游戏助手之类的额外软件;最后还有一个意外的惊喜, 那就是支持游戏手柄震动; 原来的 HyperOS 是基于 Android 14 的, 不支持手柄震动。 安装 LineageOS 之后,系统也升级到了 Android 15 , 在使用手柄时突然发现可以震动了, 游戏手感可以说是上升了一个档次, 算是最意外的惊喜吧。