admin 管理员组

文章数量: 887019

写在前面

引言

众所周知,如今国内最新华为设备已经不再使用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)https://source.android.google/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)或者搞机助手·R (gjzsr)等应用刷入。

如何获取root请查看后续有关内容。

方法三

在已经刷入一个rec的情况下,想要刷另一个rec时,点击安装-刷入镜像,选择待刷入文件。

如何获取第三方rec

1.一般情况下百度一下可以搜到你想要的一切,但是有些机型它就是搜不到怎么办呢,还好有奇兔为海思麒麟芯片定制的EMUI8/9通用奇兔TWRP虽然有很多设备无法触屏。。。

2.@某贼 大佬收集了他能找到的所有华为设备第三方rec!虽然还是有一些机型的找不到,但是别人的劳动成果咱一定要珍惜。华为 全系奇兔TWRP123云盘为您提供华为 全系奇兔TWRP最新版正式版官方版绿色版下载,华为 全系奇兔TWRP安卓版手机版apk免费下载安装到手机,支持电脑端一键快捷安装https://www.123pan/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)或者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/mashed-potatoes/PotatoNV

前者所述的各种软件卖价高昂,建议大家淘宝一下华为解锁,一般情况下30元以下就可以免拆解锁。此外酷安@某贼一直有免费远程软件读码改码解锁项目:点击这里,必须下载酷安并打开才能看到内容,因为这个帖子对浏览器屏蔽了https://www.coolapk/feed/28627709?shareKey=NmFlZTBkMjhmNzkxNjQ5M2VkYTE~&shareUid=22125179&shareFrom=com.coolapk.market_13.2.1

或者点这里访问@某贼的主页自己找一找http://www.coolapk/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)https://www.coolapk/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)

四 *扩容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啦!

ꉂꉂ(ᵔᗜᵔ*)

 

 

 

本文标签: 华为 直通车 一篇文章 刷机