这篇博客的旧版本是我刚刚开始接触刷机的时候写的,现在对刷机的认识更多了一些,所以重新写了一遍。
前提
- 可以接受手机永久性损坏的风险
- 拥有一台华为/荣耀设备
- 拥有有一台 Windows、macOS 或 Linux 系统的电脑
解锁
这一块不多解释,可以找酷安老哥有偿解锁,也可以淘宝解锁,还可以自己去试试 HCU-Client 或者 DC-Unlocker,注意防骗,货比三家。相比来说,老机型比新机型解锁更便宜,一些老机型能读出解锁码,而一些新机型不能(没有解锁码意味着如果你手误把 Bootloader 锁上了,那你还需要再花钱重新解锁),注意,如果你解锁时没有提供解锁码,那么请不要使用华为手机助手进行系统修复!
备份原固件(可选)
如果你只是想尝尝鲜,或者害怕类原生不好用,想换回EMUI,又或者想多尝试几个Rom,那请看这里!
访问 Online firmware database ,在标题下方的
Enter model
搜索框里,输入手机的型号(格式形如 MAR-AL00 ,在机器背面或入网许可上有,也可以在 EMUI 的设置 - 系统 - 关于手机 - 型号里找到),并点击FIND MODEL
搜索。找到
Тип
一栏是FullOTA-MF
的,尽量使版本号(即文件名中的xx.x.x.x
)和你现在使用EMUI版本靠近,点击这行的filelist
,复制链接并下载,解压这个压缩包。下载 HuaweiUpdateExtractor ,解压压缩包或安装后打开
HuaweiUpdateExtractor.exe
,在Settings
中关闭Verify header checksum
。回到
Extract
,点击Update file
一栏中右侧的[···]
,找到你刚才下载的压缩包里的UPDATE.APP
,这个软件会自动解析文件,右键这下面文件中的SYSTEM.img
,点击Extract Selected
,选择一个你方便找到的文件夹,确定。至此,备份完成,如果你觉得需要换回来 EMUI ,在 adb 命令行执行:
fastboot flash system <你导出的SYSTEM.img路径>
(可以直接将文件复制,并在命令行中粘贴来直接输入文件的路径)
然后重启设备,参照挑选喜欢的 ROM 并刷机中第 5 条,对设备进行数据清除,重启,就回到 EMUI 了。
挑选喜欢的ROM并刷机
前往 Openkirin 下载对应自己当前EMUI版本(EMUI8.0 / EMUI9.0)的包,下载。
你也可以在 SourceForge 上寻找 GSI 包,个人推荐如下项目:
-
这位做 Lineage OS 的 GSI,很稳,几乎没有 Bug,Lineage OS 是一个很原生气的类原生系统,和原生的差距不大。
-
很多系统的 GSI 都有,看个人喜好咯。
-
将手机关机,关机后连接数据线并长摁电源键与音量减,进入到 Fastboot 模式(请确保安卓小机器人下面的文字是
PHONE Unlocked
)。在ADB命令行执行:
fastboot flash system <ROM的img路径>
(可以直接将文件复制,并在命令行中粘贴来直接输入文件的路径)
开机,当遇到这样的界面(以后统称为“解锁警告”):
(!) Your device has been unlocked and can't be trusted. To learn mode,vist: http://zh.ui.vmall.com/emotiondownload.php?mod=restore ------ (1) Press Power key to continue. (2) Press Volume Up key to 3 seconds to enter erecovery to restore your device. (3) Your device will countinue to boot 5 seconds later if there is no operation. ------
立刻长摁音量上键直到页面改变,进入 Erecovery,点击恢复出厂设置(也有可能是 wipe data/factory reset 或者工厂级格式化)。
如果恢复好了,那就先退出,看看这个页面里有没有清除缓存(或清除 Cache),如果有的话,清除一下。
现在,拔出你的SIM卡,关闭手机,然后再开机。
如果出现一个欢迎页面,那恭喜你成功的刷入了类原生 Rom!
如果你选择了 “gapps” 包,那你需要跳过连接 WiFi 和插入 SIM 卡的部分,直接进入系统,进入系统后再连接WiFi、插入 SIM 卡。(否则可能会卡在依赖于谷歌的服务的页面)
下载翻墙工具,然后再进入
Android 设置向导
,完成设置。
刷入 Magisk
当你刷入了 Magisk 后,你的设备就自动 Root 了,刷入 Magisk 后你可以安装 EdXposed 或者 LSPosed (推荐)框架,对系统进行一些改造。
使用本方法会导致原来的 Recovery 会无法使用、开机后或许会出现触摸失灵半分钟。
修补 Boot 法(不确定可用性)
进入系统中的设置 - 关于手机,连续点击 10 次
版本号
,进入开发者模式,启用Android 调试
、将Root 授权
设为仅限于 ADB
。手机连接电脑,进入 Adb 工具,依次输入以下指令:
adb root adb shell cd /dev/block/by-name cat recovery_ramdisk > /data/media/0/boot.img exit adb pull /data/media/0/boot.img
这个时候你的命令行所在目录就会出现手机的
boot.img
,先自己保存好这个文件,然后将boot.img
发送到手机里。下载
Magisk Manager
(推荐在酷安里下载),进去挂上魔法上网工具(否则更新可能比较慢),更新 Magisk Manager 后,在Magisk
一栏点击安装,勾选安装到 Recovery
,选择选择并修补一个文件
,选择你的boot.img
,修补好了以后,在 Magisk Manager 中设置的下载路径那里找到修补好的文件。重启设备到 Fastboot 模式,输入以下指令:
fastboot flash recovery_ramdisk <boot.img的路径>
(可以直接将文件复制,并在命令行中粘贴来直接输入文件的路径)
Magisk.img 法
你也可以使用其他开发者(酷安 @麦麦观饭)已经打包好的 Recovery,点此下载。
下载完毕后在 Fastboot 模式中执行以下命令:
fastboot flash recovery_ramdisk <magisk.img的路径>
拔掉数据线,长摁音量加键和电源键(进入 “Recovery” ),直到出现这样的页面,然后松手:
(!) Your device has been unlocked and can't be trusted. To learn mode,vist: http://zh.ui.vmall.com/emotiondownload.php?mod=restore Your device is booting now...
开机等到触摸有用了以后,进入系统,进入 Magisk Manager,如果提示需要修复运行环境就对了,点击
确定
。如果你使用修补 Boot 的方法,请:
等待修复后自动重启,你会发现正常开机的警告不一样,现在可以直接进入系统,完成!
如果你使用 Recovery.img 的方法,请:
按前面提到的方法进入 Recovery,完成!