标签归档:locked bootloader

小米MAX(标准版/高配版)免解锁Bootloader刷入LineageOS

感谢@nijel8不断的努力。

刷机会清空手机所有内容,所以在刷机前务必备份重要数据,如联系人、图片等数据。
对已安装该版本的LineageOS进行升级时,可以首先尝试dirty flash新版本的刷机包,即进入recovery直接安装新包。

更新

20171004 nijel8于20170930更新了lineage-14.1-20170930版; 同时将固件升级包适配了MIUI 9 Global Beta ROM 7.9.22; 小米刷机工具升级为官方最新版 MiFlash 7.4.25。 20170807 nijel8于20170807更新了lineage-14.1-20170807版; 同时将固件升级包(MGD,MIUI 国际开发版)更新为8.5.10(MG,MIUI国际稳定版)。 20170724 nijel8于20170723更新了lineage-14.1-20170723版。 20170710 nijel8于20170708更新了lineage-14.1-20170708版; nijel8于20170707更新了TWRP。 20170624 nijel8放出了lineage-14.1-20170624版。 20170612 nijel8于20170612适配MIUI国际开发版7.6.8; 更新TWRP MOD 3.1.1-1。
小米MAX是个不错的大屏手机,而LineageOS(曾经的CyanogenMod,CM)是个深受喜爱的定制ROM。小米MAX标准版(hydrogen,32G)已经被LineageOS官方所支持,但是LineageOS官方迟迟未适配小米MAX高配版(helium,64G\128G)。幸运的是有一个天才程序员@nijel8,在LineageOS的基础上,可以说是以一己之力完成了高配版的适配工作,他还为其他ROM(包括官方版LineageOS)提供修改建议。他适配的ROM,稳定、流畅,bug少且修复快,目前约每半月左右更新一次,每次更新都同步更新了LineageOS的最新源码,安卓版本已同步更新为Android 7.1.2。他分别提供了hydrogen和helium的固件,相对于官方版,他称它们为UNOFFICIAL。本文主要以helium版为例。由于高通提供了救援模式(Emergency Download Mode,EDL模式),亦被国人称为9008模式,所以可以免解锁bootloader直接刷入TWRP,并进一步刷入LineageOS。
注:正是因为EDL模式的存在,在“二 线刷fastboot包”步骤中,如不替换recovery.img,直接刷入下载回来的fastboot包,即可无需解锁bootloader就能实现救砖、更新、降级、国行与国际版互刷、稳定版与开发版互刷等刷机操作。
主要参考:
https://forum.xda-developers.com/mi-max/development/rom-lineageos-14-1-t3529851
https://forum.xda-developers.com/mi-max/how-to/guide-installing-miui-v8-2-1-twrp-root-t3573550
http://en.miui.com/thread-307139-1-1.html

一 准备所需软件和固件

1.1 下载并安装小米官方最新的刷机程序MiFlash

MiFlashSetup_eng.msi
Size: 48863232 bytes
MD5: B550CF87B618D298CE9600612F6D2773
SHA1: 709A0506CCE3775157D7ADEFAACB4901E4D068DC
CRC32: C2C9359A

该版本的驱动经过了微软签名,不会再跳出需要同意“始终安装此驱动程序软件”的提示。

1.2 下载nijel8修改版TWRP(标准版hydrogen、高配版helium通用)

(09-05-2017)twrp_v311-2_hydrogen-helium_nijel8-MOD_A7.1.2.img

1.3 下载nijel8修改版rom所能支持的最新的小米官方国际版fastboot刷机包(目前为MIUI 9 国际测试版7.9.22)

标准版hydrogen:
hydrogen_global_images_7.9.22_20170922.0000.00_7.0_global_d6b6bee3f8.tgz
高配版helium:
helium_global_images_7.9.22_20170922.0000.00_7.0_global_ab5a25d14d.tgz

1.4 下载nijel8的LineageOS固件

标准版hydrogen:
lineage-14.1-20170930-UNOFFICIAL-hydrogen.zip
高配版helium:
lineage-14.1-20170930-UNOFFICIAL-helium.zip

1.5 下载对应的固件升级包(MG, MIUI Global)

标准版hydrogen:
firmware-HYDROGEN_MGD-7.9.22.zip
高配版helium:
firmware-HELIUM_MGD-7.9.22.zip

1.6 下载最新版的谷歌包opengapps(可选)

依次选择“ARM64” > “7.1” > “nano”,并点击红色下载按钮,20171004得到:

open_gapps-arm64-7.1-nano-20171004.zip
推荐nano的原因是:
pico是仅包括保证google play运行的最小安装,
nano则在pico的基础上还包括了不能从play下载到的功能组件,
谷歌的其他软件都可以通过play下载到,因此推荐安装pico包。

二 免解锁bootloader线刷fastboot包

简单来说,该步骤的目的就是免解锁bootloader刷入TWRP。

2.1 解压小米官方fastboot包

这里注意解压得到的目录,后面线刷时不要选择错了
推荐使用7zip解压,需要先将tgz包“提取到当前位置”解压为tar包,再通过“提取到当前位置”解压tar包为文件夹。
例如高配版fastboot包放在D盘根目录:

D:\helium_global_images_7.9.22_20170922.0000.00_7.0_global_ab5a25d14d.tgz

通过两次“提取到当前位置”,最后解压为:

D:\helium_global_images_7.9.22_20170922.0000.00_7.0_global\

2.2 替换recovery.img

将下载的nijel8修改版TWRP,改名为recovery.img,复制到固件所在文件夹下的images文件夹内,替换原名文件,即

D:\helium_global_images_7.9.22_20170922.0000.00_7.0_global\images

2.3 进入EDL(9008)模式

关机,同时按住(音量+)(音量-)按钮不要松手,数据线连接电脑,手机振动,电脑听到新硬件插入的提示音,随后会出现安装驱动的提示,即可松手。
正确进入EDL模式的话,屏幕为黑色的关闭状态,可以在“设备管理器”中见到类似如下的字样(COM端口可能会有不同):

端口(COM和LPT)
     Qualcomm HS-USB QDLoader 9008(COM20)
注:经过多次尝试,这个步骤推荐的做法是:在手机处于任何状态下,用数据线连接电脑,同时按住(音量+)(音量-)按钮不要松手,按住电源键10秒左右,手机第一次震动,此时松开电源键,再过13秒左右手机第二次震动,此时在硬件管理器中应该就可以可见9008模式的驱动了,说明正确进入了EDL模式,可以松开(音量+)(音量-)按钮。

2.4 刷机

在桌面打开刷机程序(XiaoMiFlash.exe), 点击“刷新”按钮,在列表中,会见到如下内容:

编号	设备	进度	时间	状态	结果
1	COM20		0s

点击“选择”按钮,定位到刷机包文件夹:

D:\helium_global_images_7.9.22_20170922.0000.00_7.0_global\

注意是images文件夹的上一级文件夹。
选择“全部删除”,而后点击“刷机”。静静等待3分钟左右,提示成功(success)。

不要开机,不要开机,不要开机。

三 卡刷LineageOS包

3.1 将LineageOS固件包、固件升级包、谷歌包复制到到SD卡内或者放到u盘(需要otg线)内,并在开机前插入手机中:

lineage-14.1-20170930-UNOFFICIAL-helium.zip
firmware-HELIUM_MGD-7.9.22.zip
open_gapps-arm64-7.1-nano-20171004.zip

SD卡对应后面卡刷时的/sdcard1目录;
U盘则对应后面卡刷时的/usb-ogt目录。

3.2 进入TWRP

断开手机和电脑的连接,按住(音量+)(电源键),出现MI图标,即可松手,稍等片刻,即可进入TWRP。
直接点击保持只读(Keep Read Only)即可,也可以选择语言(Select Language),这里我直接点击保持只读(Keep Read Only)进入。

3.3 格式化数据区

点击清除(Wipe),格式化Data(Format Data)。
第一次安装LineageOS时忽略此步骤,可能导致手机存储容量不能被正确识别。

3.4 四清

返回(back)Wipe界面,点击高级清除(Advanced Wipe),选择“Dalvik/ART Cache”、“System”、“Data”、“Cache”,滑动清除(Swipe to Wipe)。

3.5 安装LineageOS

返回主界面,点击安装(Install),定位到刷机包所在的“/sdcard1”或者“/usb-otg”目录,选择lineage-14.1-20170807-UNOFFICIAL-helium.zip,添加更多压缩包(Add more Zips)添加固件升级包和谷歌包,然后滑动刷机(Swip to confirm Flash)。安装好后清除缓存(Wipe cache/dalvik)后重启手机(Reboot System)。
等待一段时间,即会进入LineageOS的设置向导界面。

如需刷入谷歌包,请在重启前就刷入,手机重启后想刷的话,需要将手机重置后在刷入,否则可能出现崩溃情况;
当刷入谷歌包时,如果没有国际互联网接入,可以在设置向导界面顺时针方向连续按屏幕四角几圈来跳过。