前言

刷机有风险,刷前需谨慎。

刷机时请遵守以下三条规则:

1.不在无充分了解的情况下刷机

2.不在无救砖包下刷机

3.不在晚上刷机

准备工作

刷机工具箱

好用的刷机工具箱能为我们的刷机之路减少一些阻碍并带来便利,下面是一些工具箱推荐。

秋之盒 搞机助手 搞机工具箱 麒麟盘古工具箱

适合进阶,熟练使用ADB是机佬最重要的技能之一。

Android SDK

另外还有一份ADB使用教程:ADB

降级系统

在开始刷机之前,需要系统版本在EMUI8/9,且系统版本越接近出厂版本越好,目的是保证底包的稳定性。EMUI0及Harmony OS理论上可支持解BL锁及刷入AOSP和ROOT,但华为对此实行禁止,所以需要对系统进行降级操作。

具体降级教程可以参考这篇文章:如何给你的华为手机降级

解锁BL锁(Bootloader Locked)

Bootloader相当于Android的系统引导程序,Bootloader被解锁前一般只处于只读状态。如果想要刷机,解锁bl是必要操作。由于华为于2018年关闭了获取bl码的官方申请渠道,故要获取只能通过第三方渠道。

bl码在不更改的情况下都是固定的,这也就意味着你只需要解锁一次即可,不需要担心回锁。需要注意的是麒麟710和麒麟970没有bl码,这也就意味着一但回锁就只能重新硬解,而无法通过解锁码二次解锁。

适用机型

芯片为麒麟980及以下,且为非鸿蒙系统。

获取BL解锁码

他人代解

在淘宝,拼多多都可以找到提供解bl锁服务的商家,具体价格取决于商家的良心程度,一般在10~25元不等。另外一些商家还可以顺带帮你改bl解锁码,最好选择这种商家并将bl解锁码全部改成同一数字,方便好记。

自行解锁

如果你想靠自己解锁,向真正的机佬迈进,那么你需要自行使用第三方工具进行解锁。

付费使用

HCU Client

HCU CLIENT

NCK Box

NCK BOX

EVONDT Tools

EVONDT
免费白嫖

Potato NV

PotatoNV

刷入AOSP

AOSP即Android Open Source Project,国内的安卓系统比如MIUI,Flyme等都是基于AOSP深度定制的。对比国内的臃肿的系统,AOSP简洁流畅的优点就体现出来了,实乃旧机养老的不二之选。理论上华为也能刷入国内的第三方系统,但是由于华为的垃圾开源和对系统的魔改,导致给华为编译第三方系统直接上升到地狱级难度,因此华为只能够刷入AOSP的GSI。

GSI全称Generic System Image,是一种纯 Android 实现,采用未经修改的 Android 开源项目 (AOSP) 代码,可在各种 Android 设备上运行。

Treble Check

在开始刷入gsi之前,你需要通过Treble Check来查看是否支持Project Treble,支持则说明你的手机可以刷入gsi,一般来说Android 8及以上都是支持的。

Treble Check

Project Treble:必须支持Project Treble,否则无法刷入gsi

无缝系统更新:对刷入gsi无影响,感兴趣可以自行了解

CPU体系架构:需要注意自己的是64位还是32位

System-as-root:简称SAR,针对华为来说,如果支持System-as-root,那么你就需要选择AB分区的gsi

GSI选择

由于华为的特殊性,所以并不保证所有GSI都能在华为手机上跑起来,所以最好选择加入了Phh补丁或专门为华为手机优化过的gsi。推荐从以下渠道选择gsi:

GitHub

XDA论坛

Phh项目的开发者也整理了一份添加了Phh补丁的gsi合集,这里面的gsi基本都是刷入就能开的:

Generic System Image List

一份标准的gsi命名如下:

GSI包名-版本号-CPU架构(a64/arm64)-ab分区(a:a-only/b:ab)/谷歌套件(g:有/v:无)/系统ROOT(N:无/S:有/Z:有)

正式刷入

刷入gsi有两种方式:线刷卡刷,线刷需要使用adb刷入,而卡刷则需要用到TWRP。由于部分机型的twrp无法正常读取分区,并且线刷比卡刷更安全快捷,所以下面只介绍线刷刷入,对卡刷不再赘述。

请确保你的gsi为.img格式,如果不是则说明你下的是压缩包,解压即可。

打开adb命令行,输入如下命令

1
2
3
4
adb devices # 查看连接设备,有序列号则连接成功
adb reboot bootloader # 重启至fastboot
fastboot flash system [拖入system.img] # 刷入系统镜像
adb reboot # 退出fastboot并重启

在执行完最后一条命令后,按住上音量键直到进入eRecovery模式,选择恢复系统出厂设置,接下来在恢复出厂设置后就会自动重启到Recovery模式,选择清除cache,清除完毕后重启手机等待进入系统。如果五分钟内没有进系统,就说明这个gsi不兼容你的机型,换多几个重刷就好。

刷入root

TWRP卡刷

首先你需要去下载magisk的apk文件,直接改后缀为zip格式并放到手机,记住文件路径后重启到twrp,选择安装zip安装包,等待刷入成功后正常重启即可。

你也可以通过ADB Sideload的方式刷入。twrp下连接电脑,选择高级-ADB Sideload,滑动开始刷入并在电脑adb命令行输入执行

1
adb sideload [拖入Magisk.zip]

当出现Total时表示刷入成功,正常重启即可。

Fastboot线刷

解包提取

root需要用到boot,boot在固件包里能够找到。可以通过Tech_Sky资源站万维论坛ONFIX等获取。由于华为的救砖包并不是常见的zip格式,而是app格式,无法通过直接解压来获取boot,所以需要用到HUAWEI UPDATE EXTRACTOR等第三方工具来解包。

由于华为对分区进行过魔改,boot已经移动到了recovery分区,所以需要提取的是recovery_ramdis.img而不是boot.img。

打开HUE解包工具,将Settings里带有Verify的都取消勾选后SaveProfile选择Unknown。固件包解压直到出现update.app,将其拖入后在Extract找到RECOVERY_RAMDIS,右键选择Extract Selected

HUE

如果没有固件包也可以用自己机型的twrp即第三方rec来代替官方rec。

将提取的recovery_ramdis.img或twrp推送到手机,安装并打开Magisk,依次选择安装-安装到 Recovery-选择并修补一个文件,等待修补完成。

线刷镜像

将修补后的文件推送到电脑,手机重启到fastboot,打开adb输入

1
2
3
4
# emui8执行这条命令
fastboot flash recovery [拖入recovery-patch.img]
# emui9执行这条命令
fastboot flash recovery_ramdisk [拖入recovery-patch.img]

使用root

重启进入eRecovery模式,选择恢复出厂设置,此时官方Recovery已经被替换为Magisk修补过的Recovery,等待几分钟后手机就会自动进入系统。进入系统后打开Magisk,此时会显示需要修复运行环境,点击确定后等待重启。使用这种方法root一般情况下不会掉root,每次重启时手机都会执行上一次没执行的恢复出厂设置,所以会自动尝试进入rec从而运行root。