跳转至

刷机

须知

我们努力确保文档的时效性的正确性,但是阅读者需要自己承担因尝试 Root 导致的后果

深刷操作难度较高,如果不自信,请去售后要求深刷。

请不要在晚上刷机.

众所周知,在 Linux 中,su 代表管理员权限。 su 是运行环境变量PATH下面的一个可执行文件,当任意软件运行su时,软件的权限就会被提升到Root权限。

同理,在安卓系统中,Root赋予手机管理员权限,本质就是将su文件放入到系统运行环境变量PATH下面。之后软件运行su程序,就可以提升到Root权限。

未 Root 的安卓系统是没有su这个文件的。

介绍

目前最流行的 Root 框架是 Magisk,我们使用 adbfastboot 工具链接手机和烧录分区。按照原理的不同分 第三方REC修改 Boot

深刷是比 fastboot 更深一层的方法,可以无视Bootloader进行提取刷写操作,主要方式为 9008 和 mtk 联发科工具。

Magisk

Magisk 是一个强大的 Android 框架,是一个通用的第三方 systemless 接口,通过这样的方式实现一些较强大的功能。它修改启动分区,并保留了系统文件。这种修改只是虚拟地覆盖在原始文件 上。当某些东西请求系统文件时,修改后的版本将被发送到magisk指定的位置。但是由于所有系统文件都是完整的,因此可以欺骗SafetyNet认为一切正常。应用仍然可以在有被root的手机上运行。它通过挂载一个与系统文件相隔离的文件系统来加载自定义内容,为系统分区打开了一个通往平行世界的入口,所有改动在那个世界(Magisk 分区)里发生,在必要的时候却又可以被认为是(从系统分区的角度而言)没有发生过。当被挂载的 Magisk 分区被隐藏甚至被取消挂载时,原有系统分区的完整性丝毫未损。因此严格来说 Magisk 可以被看作是一种文件系统。

示意图

选什么

首先,你必须先 解锁 Bootloader.(如果可以深刷则不需要)

线刷是最值得推荐的,过程也不复杂,只要刷机过程保持电量充足,刷机包正确,刷机过程不对手机进行操作,一般都是能成功刷入的。

  1. 无需第三方 Recovery
  2. 不影响系统升级(完整包升级)

如果你的机型没有释放对应的 Rom包 ,你可以尝试深刷。

备份完整字库数据(分区)[^15]

Root 后才能备份哟,防止你哪次刷写失败没有备份字库导致 50包邮

Tip

基带什么的每个机子都不一样,9008不能写所有分区,所以最好备份好完整字库。

如果刷坏没备份,不能正常使用sim卡,部分型号不能连wifi,甚至要换主板。

有些机型需要授权9008.

手机的字库指的是手机硬件(类比硬盘+Bios),但是我们这里讲的是里面的数据啦。

我们说的64GB,128GB,256GB等等,这个就是说的主板的储存容量,也就是字库。某个分区的数据损坏,好听的说法是分区数据坏了,难听的说法是字库损坏了。

有必要吗?

有人会说,不是有9008吗?有必要备份完整字库吗?有必要。

假如一个手机所有分区加起来有100个,9008大概会刷写30个左右,剩下的70个不会刷写。

那么这个70个当中有某个分区数据损坏了,9008是无法救砖的,必须返厂,用工厂售后(非卖手机的那种售后)的工厂包,方可救砖。当然,如果这个工厂包,没有刷写完100个分区的话,基本上也是无法救砖的。

如果你是频繁刷机的玩家,比如你刷GSI(通用系统镜像)把基带刷丢了怎么办?或者装了格机模块被格式化全分区数据了怎么办?

所以,Root后第一件事,就是备份完整字库,以防不测。

基带丢失,其实也就是基带分区的数据损坏了,只需要刷入正常的分区镜像就可以修复。但是,基带分区究竟是哪一个我们不得而知,所以需要备份完整的分区。

如何备份?

你可以去下载 这个分区备份软件 或者在 搞机助手 等等中备份你的手机分区镜像或者打包当前系统ROM,到时候用线刷工具/深刷工具救回来。

Info

如果救回来基带未知,可以试试官方线刷包单刷 persist.img

DD 备份

UFS闪存手机

主板一般被分成了6个硬盘,即sda,sdb,sdc,sdd,sde,sdf。

所以,主板设备代码分别是:/dev/block/sda,/dev/block/sde,/dev/block/sdc,/dev/block/sdd,/dev/block/sde,/dev/block/sdf

备份分区的代码举例:dd if=/dev/block/sda1 of=/sdcard/1.img,dd if=/dev/block/sda2 of=/sdcard/2.img等等等等............................

还原分区的代码举例:dd if=/sdcard/1.img of=/dev/block/sda1,dd if=/sdcard/2.img of=/dev/block/sda2 等等等等............................

Emmc闪存手机

主板设备代码:/dev/block/mmcblk0

备份分区的代码举例:dd if=/dev/block/mmcblk0p1 of=/sdcard/1.img,dd if=/dev/block/mmcblk0p2 of=/sdcard/2.img等等等等............................

还原分区的代码举例:dd if=/sdcard/1.img of=/dev/block/mmcblk0p1,dd if=/sdcard/2.img of=/dev/block/mmcblk0p2等等等等............................

当然,像 system 分区, vendor 分区,userdata 分区,super 分区,这些分区就没必要进行备份还原了。

查看分区信息的命令:

先安装busybox的面具模块:链接: pan.baidu.com/s/1hFQr0nvXprzcz2gyQxtFzQ 提取码: y61r

然后终端命令:busybox fdisk /dev/block/sda 回车,然后再输入p回车,就可以看到sda这块硬盘的所有分区信息了。adb,adc,add,ade,adf

同理,emmc闪存手机的命令是:busybox fdisk /dev/block/mmcblk0回车,再输入p回车,就能看到所有分区信息了。

没有备份怎么办

如果你的手机已经出现问题,且没有备份完整字库。

需要去售后换主板(-300) 或者 找一台同机型的手机,提取完整备份字库刷入救机,是否成功看运气,因为会不会黑砖,这是个待验证的问题。

最好不要使用别人的手机的全字库备份,就算不发生手机黑屏变砖的情况,也会大概率出现 Bootlocker 永久锁定,永久无法再次解锁。

如果刷入另一台同型号手机的基带,两台手机会有相同的串号。

备份的基带,只要不换主板就可以一直用。

结束后你可能需要做的

确认 Root 没有问题后,再打开 Magisk App 中选择安装 > 直接安装,来「永久」写入 Magisk。

系统更新时想要保留 Magisk 的,重新打包刷入一次是最为通用稳妥的办法。

Info

Magisk 工作机制是「拦截」,Magisk通过挂载一个与系统文件相隔离的文件系统来加载自定义内容,为系统分区打开了一个通往平行世界的入口,所有改动在那个世界(Magisk 分区)里发生,在必要的时候却又可以被认为是(从系统分区的角度而言)没有发生过。Magisk 可以被看作是一种文件系统,这种文件系统通过巧妙的实现方式避开了对系统文件的直接修改

参考材料

[^15]:[告诉大家如何防止掉基带问题](https://www.coolapk1s.com/feed/21305538)

[^13]:[**通过ADB给手机刷入第三方Recovery**](https://blog.linioi.com/posts/8/)**** 

[^21]:[底层刷机教程/全解析](https://wiki.pchelper666.com/%E5%BA%95%E5%B1%82%E5%88%B7%E6%9C%BA%E6%95%99%E7%A8%8B)

[^42]:[部分华为麒麟手动获取BL解锁码](https://zhuanlan.zhihu.com/p/397173427)

[^43]:[华为麒麟深刷救砖[变砖绝杀技]](https://www.coolapk1s.com/feed/26830366)

[^44]:[小米11搞机指南](https://blog.chitang.dev/posts/mi11/)

[^45]:[关于ProjectTreble和AndroidGSI](https://bbs.liuxingw.com/t/9315/2.html)

[^46]:[安卓手机刷入GSI镜像教程](https://www.irom.net/post/9.html)

[^47]:[刷写GSI的要求](https://source.android.com/docs/setup/build/gsi#flashing-gsis)

[^48]:[动态分区刷GSI-通用镜像-的正确姿势](https://www.chaptsand.top/posts/da8abb0.html)

[^49]:[小米平板5Pro刷入GSIAndroid教程](https://dev.moe/2716)

最后更新: January 9, 2023 14:16:22
创建日期: November 16, 2022 19:19:43