写在前面
引言
众所周知,如今国内最新华为设备已经不再使用EMUI,而是Harmony OS。
总地来讲,我们已经度过了刷机的黄金时代,如今换机的频率也相对下降。但是我们换下的老机并不是一无是处,相反,运行在EMUI8/9的大部分设备甚至可以通过Project Treble(PT)运行高版本类原生系统,比如在EMUI9上运行Android 13。
这篇文章,就是针对EMUI8/9的设备,从卡顿耗电的EMUI到干净清爽的类原生系统的直通车。在这里,你也可以从刷机小白变成刷机小王子。
本文遵循“即用即讲”原则,将需要优先学习的部分安排在前。因此,如果你觉得看不懂了,可以尝试看一看前面的几个章节,应该会加深你对知识的理解程度,从而更轻松地学懂后面的章节。本文带有星号*的为高难度内容,可以不掌握,也可以掌握,到底掌不掌握请自己掌握~
本文提到的所有资源总链接
FB&ADB工具;UPDATE.APP解包工具;猎人线刷工具;Potato NV;COM1.0驱动;EMUI9理论通用第三方内核;EMUI8/9理论通用TWRP;HI6250的EMUI9官方rec和magisk已修补rec;Magisk官方25.2稳定版;IDM6.38.72不弹窗免费版;PikPak安装包;海量GSI列表和资源链接等等
-本文最后编辑于2024年1月-
第一章 EMUI基本认识
认识设备是搞机的第一步。本章将带大家对EMUI设备的特性进行初步的了解,为以后回答“为什么这样做”和“怎么做”筑牢根基。
1.1 什么设备可以刷机
前言里说到,EMUI8/9通过Project Treble(PT)可以运行高版本安卓系统。那么我们首先要知道什么是PT。
PT(全称Project Treble)是谷歌在安卓8发布时引入的一项功能。该功能将vendor分区从system分区独立出来,形成一个新的分区,适用于安装了安卓8及以上版本的设备。
由于vendor分区主要包含设备驱动程序,因此在PT推出之前,每次更新安卓系统的大版本(例如从安卓6更新到安卓7)都需要花费大量精力来更新vendor分区。然而,PT的出现改变了这一情况,将vendor分区作为一个独立的分区,并且不需要随着system分区的改变而改变。这大大降低了开发的难度,因为支持PT的设备在更新安卓大版本时几乎只需要更新system分区即可。
由于设备的底层驱动程序实现了与system分区的完全独立,因此通用系统映像(Generic System Image,GSI)随之出现。GSI仅更改system分区,并内置了主流的所有高层驱动程序,因此只要您的设备支持PT,就可以运行GSI。
综上所述,只要你的设备是EMUI8/9就能刷入GSI,即高版本的类原生系统,从而变得流畅。
需要注意的是:
EMUI8 Android8 最高可升级到Android11
EMUI9 Android9 最高可升级到Android13,少数目前能升到14
但并不是说EMUI3/4/5就直接没戏。实际上,还是有例外的。刚刚提到PT的原理是将vendor分区从system独立出来成为新的分区,所以即使不支持PT,只要把vendor独立出来然后做一些细节上的处理,就可以制成一个”饭制版PT“设备。总之,如果有大佬为你的设备添加了PT支持,那么这篇文章依然对你有帮助。
其次,为什么不选择EMUI10及以上版本刷机?因为EMUI10及以上版本的fastboot经过魔改而不能使用解锁码解锁,导致意外回锁后再次解锁只能使用特殊软件,但是这种软件得花几百大洋去买。如果你的手机目前是EMUI10系统或者更高版本,但是出厂时是EMUI9或者更低,可以使用华为手机助手HiSuite官方下载 | 华为官网降级,关于更多降级资料请查看2.2节有关内容。
如果出厂版本就是EMUI10及以上甚至是鸿蒙,教程结束......
1.2 连接电脑与手机
本节将介绍几个常见的手机连接电脑的方式。如果你没有电脑,可以把一台已Root的手机连接待刷机手机,使用搞机助手R实现下列操作。
ADB及ADB常用命令
1.ADB是啥
ADB(Android Debug Bridge,安卓调试桥),是安卓系统面向开发者内置的一项功能,用于对设备的一些高级参数进行查看和设定,如查询运行日志,更改应用活动状态,访问Shell终端等等。对于我们来说,ADB就是一个电脑连接手机的工具。
2.ADB怎么用
首先电脑上下载好ADB工具箱并解压,得到如下文件:
处于开机状态时,手机点击关于手机,狂点7次版本号直到出现”您已经启用开发者选项“。找到开发者选项里面的”允许USB调试“并下滑通知栏更改USB连接模式为”传输文件“。用数据线连接电脑,点击启动命令行,输入adb devices,然后在手机上等待一会,看到”是否允许此计算机进行USB调试“,点击确认,再在电脑上输入adb devices,就可以看到类似如下的情况:
如果是下面这个样就是手机没有允许USB调试。拔了线重新插再试试。
如果处于恢复模式,直接数据线连接电脑并点击”启动命令行“,输入sdb devices即可看到连接的设备。
3.ADB常用命令(不要含有中文)
查看设备
adb devices
推送文件C:/test.txt到手机/sdcard位置
adb push C:/test.txt /sdcard
抓取文件sdcard/test.txt到电脑/C:/666位置
adb pull sdcard/test.txt /C:/666
推送和抓取文件的路径可以直接将文件拖拽入窗口实现自动输入,也可以右键+Shift单击文件,在右键菜单里复制文件地址后粘贴,一定要注意空格,路径和文件名不能有中文,否则推送抓取会失败
重启到recovery/fastboot/systesm
adb reboot recovery
adb reboot fastboot
adb reboot system
进入Shell命令行
adb shell
fastboot模式连接电脑的相关操作请查看【1.4 使用三大分区-Fastboot】。
1.3 认识主分区
安卓系统基于Liunx内核运行,因此有很多地方与Linux相似。这一节涉及少数Linux入门知识。
磁盘主分区
安卓系统中system,data,kernel,vendor等分区都是位于一个“主分区”下的子分区。主分区几乎占用整个闪存芯片,比如说你的手机是64GB,主分区就会占用63-64GB,剩下不足1GB的地方用于存放各种乱七八糟的东西(xloader,nvmp分区什么的)。
如果只是想刷入安卓13,我们只需要了解主分区里面的system,data,kernel,vendor等分区就够了。
关于如何查看和编辑主分区请查找后续有关内容。
安卓系统基本分区
以下将对主分区里常见的安卓系统基本分区进行介绍。
Fastboot
- 概念
又名快速启动阶段、引导程序、引导模式、绿色机器人模式、线刷模式、FB模式、系统修复模式。
fastboot为系统通电后由xloader首先启动的分区,如果是Locked状态(如图)且主分区没有被修改则进入下个启动阶段(内核驱动程序的加载)。如果检测到被修改则不会进入下个启动阶段,而是启动到eRecovery模式。
我们所说的解BL锁(Bootloader锁)是把此分区状态改为Unlocked,进而允许用户修改一部分分区实现自定义操作系统和获取Root权限等。
- 如何进入fastboot模式
有这几种方法:
1.连接电脑,立刻按住音量减小直到进入
2.USB调试模式连接电脑,在ADB命令行输入adb reboot fastboot
3.从第三方恢复模式或者有root环境的系统重启到fastboot
工厂锁和用户锁的区别
一般情况下我们解开的是
用户锁(USER LOCK)
一般情况下手机出厂时会自带一个16位解锁码,比如1111222233334444。
只要连接电脑在电脑上输入
fastboot oem unlock 1111222233334444
然后手机上音量键点确认,就解开用户锁了,手机会自动进入低级格式化阶段,完成后开机,数据完全清除,此时你可以开始刷第三方系统或者root了。
然而,用户锁只解锁了以下几个分区(或许还有几个我记不清了):
recovery_ramdisk
boot/kernel
system
userdata
cache
这导致你在解开用户锁之后刷入其他分区会这样报错:
Failed:("Command Not Allowed")
当然,如果没解锁报错同上。
所以,要想解锁所有分区则需要解开
工厂锁(FB LOCK)
目前已知一些付费软件可以通过一些漏洞实现秒开工厂锁,但是重启立刻回锁。
不过对于部分海思麒麟设备,可以拆机进入USB COM1.0模式(麒麟深刷模式),利用potatoNV修改系统底层实现永久打开工厂锁,目前已知三键强刷无法回锁,但是可以通过系统更新APP回锁(如果系统更新显示已经是最新版本这条路就走不通)
目前支持的设备有:
海思麒麟620,65X,950,960所有机型
如图,进入COM1.0模式后,选好处理器并勾选Disable FBLOCK点击start即可。
关于具体如何使用Potato NV以及如何进入COM 1.0模式请查找后文有关内容。
Recovery
- 概念
又名恢复模式、卡刷模式、简称rec。这是一个完全独立的分区,解锁后即使部分系统损坏而无法开机,只要内核是好的,就可以启动到rec救急。
在官方rec下,用户只能执行有限操作,如恢复出厂设置,重启设备,清除Cache分区,安全模式。官方rec更多用于OTA和三键强刷。
而我们想要实现刷机Root则需要第三方rec,最常见的是TWRP:
在TWRP里面可以实现需要root权限的几乎所有功能,还可以管理整个文件系统,实现分区扩容等等。
关于TWRP的刷入和使用请查找后续有关内容。
- 如何进入恢复模式
有以下方法
1.关机状态下长按音量增加和电源键直到亮屏才松手,等20秒左右会启动到rec
2.如果刷了第三方rec,进入erec之后点击恢复出厂就能启动到第三方rec,不会恢复出厂
3.USB调试输入adb reboot recovery
eRecovery
- 概念
简称erec,用于联网下载最新全量包回到官方系统,还可以紧急备份,重启设备,关机,恢复出厂(依赖官方rec),以及充电(官方rec好像不能充电)。如果只解开用户锁是无法修改这个分区的,必须解开工厂锁。
- 如何进入erec
有以下方法:
1.没解锁时,连电脑,长按音量增加和电源键直到亮屏3秒后松手
2.系统损坏无法启动时会自动启动到erec
3.解锁后,开机看到黄字(如图)长按音量增加三秒以上,等20秒即可进入
Boot/Kernel
概念
又称内核。EMUI8的内核是boot,EMUI9的内核是kernel。它们都含有WiFi,蓝牙,屏幕,CPU,GPU,移动数据以及各种传感器的核心驱动。
说到这里你就会问:为什么一个是boot一个是kernel?要想回答这个问题,首先应该了解什么是SAR(System as Root,系统分区作为根分区)。
谷歌在安卓9引入了SAR这个概念,使得内核中一些不属于驱动程序的部分(init.rc等)合并入system分区,并且将根分区设备节点挂载到/system,而system设备节点挂载到了/system/system。SAR的引入还为后来的A/B无缝系统更新和动态分区做了铺垫。如果你想进一步了解这些概念,建议阅读官方文档(尽管翻译得像答辩):
分区布局 | Android 开源项目 | Android Open Source Project (google.cn)https://source.android.google.cn/docs/core/architecture/bootloader/system-as-root?hl=zh-cn
说了一大堆,SAR到底对我们有什么用?答案是,有无SAR决定了你的设备可刷入的GSI版本上限。EMUI8不支持SAR,所以最高只能刷入安卓11GSI;EMUI9支持SAR,所以最高可以刷入安卓13甚至14。这将会影响到我们后续选择GSI的过程,选错了就开不了机。
Vendor
- 概念
根据1.1节PT相关概念我们可以知道,只在安卓8也就是EMUI8及以上才有这个分区。在之前的安卓版本里这个分区是合并在System里面的。对于我们来说,由于vendor分区含有大量底层驱动程序,所以这个分区坏了GSI就开不了机。此外,对data分区的强制加密配置文件也在这里面,rec里“解除data强制加密”就是通过修改vendor分区实现的。
1.4 使用三大分区
三大分区是指Fastboot、Recovery和eRecovery。这三个分区如何进入请查找上一节有关内容。
Fastboot及常用命令
1.系统修复
进入后连接电脑,电脑打开华为手机助手,点击系统修复。注意目前似乎只有EMUI9及以上的设备支持系统修复,EMUI8只有少数支持系统修复。
2.连接手机
1.手机启动到fastboot模式。关于如何启动到fastboot模式请查找1.3节有关内容。
2.打开ADB工具箱,点击“华为fastboot查信息”。如果显示出了设备的信息,则连接成功。
3.点击“启动命令行”,即可输入fastboot相关命令进行操作。
3.Fastboot常用命令(不要有中文)
查看设备
fastboot devices
重启到系统
fastboot reboot
华为fastboot经过魔改无法重启到Recovery,只能重启到系统,关于如何重启到Recovery请查看1.3节有关内容
刷入TWRP映像
fastboot flash recovery_ramdisk <filename>
刷入内核映像-EMUI8
fastboot flash boot <filename>
刷入内核映像-EMUI9
fastboot flash kernel <filename>
刷入系统映像
fastboot flash system <filename>
<filename>是文件路径,可以直接拖拽进窗口实现自动输入,也可以右键+shift单击文件复制文件地址后粘贴进窗口,注意<filename>前面有个空格,路径和文件名不要有中文
Recovery
关于如何进入rec请查找1.3节有关内容。
官方rec:没啥好说的。。。
第三方:以TWRP为例
- 分区清除
Dalvik Cache (虚拟机缓存):只有在system分区没有大幅度改变且data分区没有清空时不用清除,其他时候刷机之后都要清除。具体来讲,属于以下任意一种情况的时候,都要清除虚拟机缓存:
1.刷入了新的GSI;
2.刷入了官改包;
3.清除了data分区。
System (系统分区):没啥好说的
Data (用户数据分区):
1.直接格式化这个分区会导致Dalvik Cache和Internal Storage也丢失。
2,EMUI不能直接使用TWRP格式化Data,不然会丢失大量系统组件。如果要格式化data只能用官方rec恢复出厂。
Internal Storage (内置存储):手机系统自带文件管理器的根目录就在这里,如果你把刷机包放在这里面刷机,要是清除了这个分区你刷机包就没了。
Cache (缓存分区):刷包后这个分区最好清除否则可能出问题。不过不清除似乎也没有什么影响。
USB OTG:外置U盘。
如何刷入自定义恢复模式映像
方法一
电脑下载并解压ADB工具箱,双击启动命令行。
手机进入fastboot模式连接电脑,电脑输入
fastboot flash recovery_ramdisk <filename>
然后回车。如果显示OKAY就是成功了。
显示Command not Allowed是指没解锁。
<filename>是文件路径,如果难输入,可以在输入fastboot flash recovery_ramdisk之后打一个空格,然后把文件直接拖入窗口。或者右键+shift单击文件并复制文件地址粘贴到命令行窗口。
fastboot其他常用命令请查看上一节有关内容。
方法二
在获取到root权限之后,使用Scene (omarea.com)或者搞机助手·R (gjzsr.com)等应用刷入。
如何获取root请查看后续有关内容。
方法三
在已经刷入一个rec的情况下,想要刷另一个rec时,点击安装-刷入镜像,选择待刷入文件。
如何获取第三方rec
1.一般情况下百度一下可以搜到你想要的一切,但是有些机型它就是搜不到怎么办呢,还好有奇兔为海思麒麟芯片定制的EMUI8/9通用奇兔TWRP虽然有很多设备无法触屏。。。
2.@某贼 大佬收集了他能找到的所有华为设备第三方rec!虽然还是有一些机型的找不到,但是别人的劳动成果咱一定要珍惜。华为 全系奇兔TWRP123云盘为您提供华为 全系奇兔TWRP最新版正式版官方版绿色版下载,华为 全系奇兔TWRP安卓版手机版apk免费下载安装到手机,支持电脑端一键快捷安装https://www.123pan.com/s/tMz8Vv-ujdsh.html
eRecovery
1.这个模式适合开不了机时充电。在下载最新版本并恢复的过程中保持充电也是很重要的一件事。
2.对于EMUI8的绝大部分设备,“下载最新版本并恢复”已经失效。与此同时fastboot系统修复也失效。
3.绝大多数EMUI8和少数EMUI9设备的三键强刷依赖于官方erec和rec,换句话说,大多数情况下,EMUI8设备刷了TWRP使用三键强刷就会进TWRP,所以想要三键强刷,必须先把rec和erec刷回官方版本。关于三键强刷的更多信息请查找第二章有关内容。
4.可以利用一下erec的“恢复出厂设置”快捷进入TWRP(前提是你刷了TWRP):只需要点击恢复出厂设置就会进入TWRP。原因是,恢复出厂设置依赖于官方rec,所以你刷了第三方rec之后它虽然重启到rec但是不会恢复出厂。
第二章 官方包
官方包的获取一般有两种途径:手机维修,资料下载,刷机教程工具,原厂线刷包尽在万维 (rom100.com)或者ONFIX-官方原版固件_高品质教程_维修图纸_维修手册_维修案例
2.1 结构和用法
- 结构
对于EMUI8/9,整个官方包文件分为大包(UPDATE.APP)和小包(update.app);
我们打开官方包,依次打开/Software/dload即可看到如下内容。
大包是update_sd.zip,小包是类似于XXX-XXXX_xxx_xxx这个样的文件夹里面的压缩包。比如说FLA-AL10_all_cn是华为畅享8Plus全网通标配版中国包。详细的看下面:
- 用法
方法一:三键强刷(推荐)
解压dload文件夹里的大包和你的机型对应小包,然后把整个dload文件夹复制到SD卡根目录,插入SD卡,手机拔线关机,长按音量+-和电源键看到EMUI和圆圈即表示已经进入三键强刷模式,等待进度条走完,开机时间大约5-10分钟。
注意,只要刷更低的版本就会失败,且EMUI8只能刷比当前版本更高的版本,如果刷的是和当前版本相同的版本也会失败。
方法二:猎人生产模式线刷(成功率低)
由于工具来自酷安@某贼所以我不提供教程,大家可以参考酷安@某贼的教程
注意:尽量不要在8的底层刷9,也不要在9的底层刷8,不然很有可能黑砖。黑砖就只能拆机进com1.0才能救回来。刷到一半强制重启也会黑砖!
方法三:Recovery模式卡刷(需要解BL,仅限EMUI9)
解锁BL之后,刷入第三方rec
然后进rec打开adb sideload或者把包复制到SD卡里
先刷大包再刷小包,刷完了点击重启到rec,他就会进官方rec。点击恢复出厂,完成后重启。
注意:如果你刷了大包自动重启就再进rec刷小包。刷了要是开不了机就再用方法一刷一次。
方法四:COM1.0开工厂锁引导模式线刷。请查找4.2节有关内容。
2.2 升降级
方法一 助手升降级
点我看教程
方法二 猎人生产模式降级
点我看某贼大佬的教程
注意:对于方法二,
1.刷到一半强制重启会黑砖,只能进com1.0救回来
2.Win11和win8开不了猎人工具箱是正常的,建议装双系统(win10或者win7)。
方法三 com1.0强制降级
请查找4.2节有关内容。
第三章 开始前置操作
想要刷入GSI,首先得解开BL锁,其次基本的root手段也要了解一下,至于分区的导出导入(3.3节)要是实在难懂就算了,不要为难自己。
3.1 解BL锁
- 首先应该知道
华为从2018年1月份开始就已经关闭官方解开bl锁的渠道,所以现在我们只能通过非官方手段解开bl锁。
目前主要有两种方法,一种方法是软件读码或改码,另一种方法是拆机进入com1.0模式解锁。
前者依赖于各种“乱七八糟”的软件,这里由于某种原因就不多说了。后者来自GitHub上面的一个开源项目:PotatoNVhttps://github.com/mashed-potatoes/PotatoNV
前者所述的各种软件卖价高昂,建议大家淘宝一下华为解锁,一般情况下30元以下就可以免拆解锁。此外酷安@某贼一直有免费远程软件读码改码解锁项目:点击这里,必须下载酷安并打开才能看到内容,因为这个帖子对浏览器屏蔽了https://www.coolapk.com/feed/28627709?shareKey=NmFlZTBkMjhmNzkxNjQ5M2VkYTE~&shareUid=22125179&shareFrom=com.coolapk.market_13.2.1
或者点这里访问@某贼的主页自己找一找http://www.coolapk.com/u/3463951
不论如何请牢记你的解锁码,任何官方形式升级会回锁。
- 拆机解锁目前仅限于以下设备:
海思麒麟620,65X,950,960所有机型
使用方法:
1.准备一根数据线,一段导线或者镊子,一双灵巧的手,一个能打开Potato NV的电脑
2.百度一下你的机型对应的短接图
3.连接电脑按照短接图短接,长按电源键直到感觉到振动,查看电脑上设备管理器里面是否有COM1.0设备(黄三角需要再安装一次深刷驱动),如果没有就没短接成功,再试一次
4.选好处理器,如果要永久开工厂锁就勾选
Disable FBLOCK,注意勾选Disable FBLOCK之后三键强刷无法回锁,只能通过系统更新回锁。
然后点击Start即可。
重启后手机会低级格式化,然后就解开了。注意保存好你的解锁码。
- 如何使用解锁码解锁用户锁
我们回锁之后如果要再解锁,只需要这样:
手机进入fastboot模式连接电脑,电脑打开ADB工具箱输入
fastboot oem unlock 解锁码
回车然后手机上音量键确认,解锁成功后手机会进入低级格式化阶段完成后即可。
3.2 ROOT
获取root权限的两种主要方式
1.Magisk(推荐)
不论什么时候,magisk(面具)永远是兼容性最好的root软件。EMUI8和EMUI9使用面具获取root的方法略有不同。如果你的系统是GSI,那么Root方法根据你的底包是EMUI8还是EMUI9决定。
- EMUI8
1.刷入TWRP。关于如何寻找和刷入TWRP请查看1.3和1.4节。
2.TWRP里点击高级选项,点击解除data强制加密(可选),然后返回主页点击安装,刷入magisk.zip
3.重启系统,安装magisk.apk,按照提示修复环境,重启手机,重启之后root成功
- EMUI9
1.刷入TWRP。关于如何寻找和刷入TWRP请查看1.3和1.4节。
2.TWRP里点击高级选项,点击解除data强制加密(可选)
3.从自己机器对应的官方包中提取rec。这里需要用到update.app解包工具提取出RECOVERY_RAMDISK.IMG作为“待修补文件”。官方包的获取请查看第二章。
4.安装magisk然后按照如下方法修补你的rec
5.重启到fastboot,连接电脑,电脑输入
fastboot flash recovery_ramdisk <修补后的文件>
其他fastboot常用命令见1.4节。
6.刷完之后输入fastboot reboot,看到解锁警告黄字以后长按音量增加3秒耐心等待进入erec。
7.手机上点关机立刻拔线,等待15秒,长按音量增加和电源键进rec,注意必须看到黄字才可以松手。
8.进系统之后,安装magisk.apk,按照提示修复环境后重启手机即可。
2.KernelSU(大佬的选择)
kernelsu(简称ksu)是最近出来没多久,最近又停更的“新玩意儿”。相比于magisk有以下优点:
1.root权限更加自由:magisk工作在用户空间,ksu工作在内核空间。这使得ksu拥有更加自由的root权限,比如对只读system分区直接进行修改;
2.安装更方便:对于5.1以上的内核版本,只需要修补一下内核并在fastboot刷入就好了
3.安全更有保障:没有授权的用户无法感知到ksu的存在,su二进制文件的许多属性均可自定义。
但是有三个严重的缺点:
1.不支持非GKI内核(5.1以下内核需要重新编译内核才能用ksu),显然EMUI8/9这种内核版本为4.4/4.9的是不能直接用的;
2.不能兼容magisk模块:因为ksu才出来没多久,要等很久才有希望兼容magisk模块;
3.停更了:因为有一些人打游戏用了作者的一些工具,被封号了,于是大骂作者,作者一气之下停更了。当然,停更到倒不影响我们这些EMUI8/9的老机器。
- 如何使用ksu
说了半天到底怎么做才能使用ksu呢?目前来讲一般是以下两种方法:
1.尝试EMUI9通用ksu内核:EMUI9通用KSU内核这个内核似乎是P20的,但是很多机子也能开机。下载好之后,刷入手机即可。记得备份原来的内核,防止不开机。
2.自己动手编译内核:如何为华为EMUI9内核集成KernelSU及编译内核_哔哩哔哩_bilibili这是一项高难度任务,至少我还做不到。我认为不如用magisk。
3.3* 分区导出导入
有时我们在rec或者系统需要用shell终端备份还原分区,比如提取system.img啥的。如果你有这方面的兴趣,可以参考一下这一节。
1.主分区设备节点查询(部分机型位置可能不同,可以用rec的文件管理器找一找by-name的路径)
ls -l /dev/block/by-name
2.分区导出
cat /dev/block/by-name/xxxxxx > /sdcard/xxxxxx.img
或者
dd if=/dev/block/by-name/xxxxxx of=/sdcard/xxxxxx.img
如果想要导出system分区等经过格式化,拥有文件系统的大分区,则不可以用上述命令导出,因为把整个system分区导出到时候你就不能完整地刷回去(会提示分区空间不足)。正确的方法是在导出时跳过空白部分:
例如,我的system分区共3GB,实际可用空间(空白部分)为0.5GB,我打算只导出分区前部的2800MB的部分,则应该输入如下:
dd if=/dev/block/by-name/system of=/sdcard/system.img bs=4000000 count=700
bs是指“块大小”,4000000字节约为4MB。count是指“块数”,700即700块。这条命令将会导出前4MB×700=2800MB的system分区映像文件到/sdcard/system.img。
3.分区导入
dd if=/sdcard/xxxxxx.img of=/dev/block/xxxxxx
将xxxxxx.img刷入/dev/block/xxxxxx分区
4.格式化命令
mkfs.f2fs -f /dev/block/xxxxxx
格式化该分区为f2fs文件系统
make_ext4fs /dev/block/xxxxxx
格式化该分区为ext4文件系统(部分rec不支持)
mke2fs -F -t ext4 /dev/block/by-name/xxxxxx
格式化该分区为ext4文件系统
mke2fs -F -t ext2 /dev/block/by-name/xxxxxx
格式化该分区为ext2文件系统
mkfs.ext2 -F /dev/block/by-name/xxxxxx
格式化该分区为ext2文件系统(部分rec不支持)
5.销毁数据的方法:
注意,只要是非物理层面的数据销毁方法,总有使用技术方法将其复原的可能。
这里只推荐一个方法:全部变成空白数据或者随机数据。输入如下:
dd if=/dev/zero of=/dev/block/by-name/cache
这将会把cache分区用00数据填满。
dd if=/dev/urandom of=/dev/block/by-name/cache
这将会把cache分区用随机数据填满。
一般情况下覆盖3次就差不多了。
第四章 救砖
我就知道你肯定会看这一章的......
4.1 非黑砖
- erec联网修复
具体请看1.4节有关内容。
- fastboot系统修复
具体请看1.4节有关内容。
- 三键强刷(能亮屏一般都能进)
- 生产模式线刷
具体请看某贼大佬的教程。
4.2 黑砖绝技 USB COM1.0
这个方法几乎能就回来所有机器
提醒一下,该方法只适用于
海思麒麟650,655,658,659,685,950,955,960,970设备。高通和联发科不适用。
第五章 刷入GSI
5.1 简单认识GSI
GSI有几百种,我用过比较满意的有Lineage OS,Pixel Experience Plus,Havoc OS,Octavi OS,Spark OS,Dot OS......
GSI列表
此外还有sGSI,即MIUI GSI,Flyme GSI等等。这些一般都是国内定制系统改装出来的,兼容性比较差,尤其是在海思麒麟设备上经常开不了机。此外这些GSI通常需要第三方内核(SELinux宽限模式),这里我给大家一个XDA上面找到的EMUI9.1理论通用第三方内核,适用于大多数海思麒麟设备打开sGSI(我用它在麒麟659打开了MIUI GSI12.5开发版,可惜连不上WiFi,调不起亮度)。如果你需要第三方内核可以看这篇文章:EMUI9.0/9.1重新编译内核,永久开启SELinux宽限模式 来自 忆昔以西 - 酷安 (coolapk.com)https://www.coolapk.com/feed/48152345?shareKey=YTg5YzU4ZWQ2NGI2NjViMjFhZjQ~&shareUid=22125179&shareFrom=com.coolapk.market_14.0.0总地来说,我觉得国内UI最大的优势,也是GSI永远达不到的优势,就是美观度。但是国内UI最大的缺点,也是GSI永远的优点,就是流畅度。但是为了美观和稳定,我还是选择了继续用EMUI9.1官改包(你要是想要官改包也可以联系我给你的设备定制)。希望未来有一天哪位大佬能出一个稳定的鸿蒙GSI吧😂
5.2 下包那些事
- 首先必须熟读GSI命名规则(请下载后打开)
- 这里有GSI列表以及sGSI列表(密码RH8X)供你挑选
- 如sourceforge下载慢,请在开始下载时点击“problem downloading”然后点击“auto select”,如下图所示:
- GitHub下载慢请使用GitHub 文件加速 - Moeyy
- 百度网盘下载慢请使用油猴脚本获取直链获取直链后再使用IDM下载
5.3 Shell命令基础
在电脑上使用adb连接手机后,输入adb shell即可进入Shell命令行(又叫终端)。如果手机处于恢复模式,终端的权限默认为su(开头会显示成#,表示有最高权限)。如果是普通用户权限则显示成$。恢复模式的高级选项里一般自带一个终端模拟器,效果同adb shell。
删除文件:
rm -rf <filename>
设置权限:
chmod <权限值> <filename>
如果权限值设置错误,该文件权限不足,会导致该文件功能异常。
查看文件权限:
ls -l /sdcard/666.txt
显示的大致如下。
-rwxr-xr-x 1 root sdcard_rw 0 2024-01-25 17:02 /sdcard/666.txt
-rwxr-xr-x是权限信息,r是读,w是写,x是执行。r=4,w=2,x=1,前四位之和为7,中间三位之和为5,最后三位之和为5,所以权限值为755。前四位是所有者权限,中间三位是用户组权限,最后三位是其他人权限。至于特殊权限这里就不介绍了。
分区导出导入和格式化请查看3.3节有关内容。
5.4 从EMUI直达类原生
这一节依赖于前文所述的大量基础知识,如果你看不懂,建议还是慢慢把前文读完再来读这一节。
部分步骤带*的是可选步骤,极少数情况下不执行这些步骤会开机失败。
一 升级或降级到EMUI8/9
1.1节
二 解BL锁
3.1节
三* 解除data强制加密
1.刷入TWRP-2.2节
2.在TWRP里面找到高级选项-解除data强制加密,然后回到主页点击清除-格式化data
或者用这个:华为设备解除data强制加密脚本... 来自 忆昔以西 - 酷安 (coolapk.com)
四 *扩容system分区
部分GSI尤其是高版本GSI占用大量system分区空间,需要扩容才能正常刷入,目前我有一篇能参考一下的system分区扩容教程,如果你不会可以直接找我远程。如果嫌麻烦就选一个小一点的包来刷。
五 刷入系统映像
1.手机重启到fastboot模式
2.电脑上打开ADB工具箱然后输入
fastboot flash system <filename>
具体请看1.4节
3.重启到官方rec(如果已经刷了第三方rec就刷回去,如何刷回去请看1.4节)
4.点击恢复出厂设置,然后重启设备,开机后就可以使用了
5.如果需要root请看3.2节有关内容
六 大功告成
5.5* GSI bug修复
参考教程:
GSI修复大全1
GSI修复大全2
GSI修复大全(终极)
什么是“phh设置”?就是下面这个,专门用来修复bug的
非常有可能出现且很好修复的bug:
- 充电慢
phh设置里面找一找huawei fast charge,设置成4000mAh
(找了一个小时没有找到截图)
- 最低亮度不够低
- 蓝牙声音外放
- QQ聊天页面刷到视频不点开也会爆音
关掉系统自带音效(比如Audio FX)还是不行就勾选这个
- 没有VoLTE
- 相机闪光灯黑片
似乎只有安卓13及以上GSI才没有这个bug
结尾
写这篇文章用了10个小时左右,但本文尚有许多不足之处,希望各位大佬指正。
如果这里的资源涉及侵权请联系我删除。
如果资源挂了请及时在评论区回复,我会把最新资源传到评论区置顶处。
总之,大家要开开心心刷GSI啦!文章来源:https://www.toymoban.com/news/detail-547125.html
ꉂꉂ(ᵔᗜᵔ*)文章来源地址https://www.toymoban.com/news/detail-547125.html
到了这里,关于华为EMUI8/9刷机直通车:一篇文章拿下安卓13的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!