引言

 这里没有引言,参考极客湾。好,不是参考,是记录,嘿嘿。

fastboot刷机:线刷;Recovery刷机:卡刷。

权限

  • 安卓系统一共有三种权限,依次递增:
    • 第三方软件
    • 用户权限
    • root权限

一般手机常说root就是提升到root权限。

安卓分区

  • 安卓分区包括如下几个:

    • Boot分区:存放启动与引导文件,包括操作系统的Kernel(内核)和Ramdisk(虚拟内存)

      root其实就是在修改boot分区。改CPU调度,CPU超频都需要操作该分区。

      如果该分区损坏,手机会卡在logo界面。

    • System分区:包括操作系统和预装软件

      升级或者刷机都是在操作该分区

      如果该分区损坏,会卡在开机第二屏,也就是各大厂商的UI界面(如MIUI界面)

      • Vendor分区:包括定制软件和库文件,方便后期维护,目前大多存在于System分区内部
    • Data分区:用户数据,包括应用、媒体、文档、系统设置等等

    • Cache分区:缓存分区可以帮助你快速打开各个软件数据,清除了之后,再次打开软件就会有了的。

    • Recovery分区:恢复、更新、擦除和重启其他分区等等,类似于Windows PE,刷机刷系统都是在这

      值得注意的是,目前大多数的Recovery分区不存在了,在安卓7之后,Recovery的功能被A/B System Updates模式替代,也相当于Recovery并入到了Boot里面

      • A/B System Updates:把Boot和System分区复制一份,平常用的叫做主分区(Slot A),另外一个叫做备用分区(Slot B)

        用户可以一边使用手机,一边升级系统(也就是更新Boot和System),然后重启把B分区变成A分区,A分区变成B分区。

        还可以防止升级失败导致卡机

      • VAB分区:虚拟AB分区,相当于是AB的升级,安卓11推出

        也就是,如果AB分区中不同的文件,那么就存在于原来的AB分区。如果是相同的文件,那么就存在于VAB分区,节省了重复文件导致的空间浪费。

Fast Boot

Recovery是相当于Windows PE的,bootloader相当于电脑的bios/uefi了,当接通电源开机时,会初始化硬件设备,引导操作系统内核(Boot分区)等等。在引导阶段的后期,会进入一个叫做fastboot的阶段,常在这个阶段刷机。

fastboot下,我们可以线接电脑,解锁设备、注入boot、线刷系统(还有一种叫做卡刷,就是把要刷的包拷贝进手机)等等。下面是不同手机进入fastboot的方式,首先关机,然后按按键

电源键 音量- 音量+ 是否需要数据线接电脑
华为
小米
OPPO
VIVO
一加
魅族
索尼
三星

电脑端需要下载 Android SDK,在 https://developer.android.google.cn/studio/releases/platform-tools,解压后有个fastboot.exe文件,然后手机进入fastboot之后,在电脑打开cmd

fastboot devices # 检测设备

# 如果检测不到设备,原因之一是没驱动
# 在 设备管理器-其他设备中找到一个叫做Android的设备,为其装上驱动即可。
# 也有可能是其他原因


## 下面是常用命令 ##

# 获取手机相关信息
fastboot getvar all

# 重启手机
fastboot reboot

# 重启到bootloader
fastboot reboot-bootloader

# 擦除分区
# fastboot erase (分区名)
# 例:清除system分区:fastboot erase system

# 刷入分区
fastboot flash (分区名) (分区镜像)
# 例:将boot镜像 "boot.img" 刷入boot分区:fastboot flash boot boot.img

# 引导启动镜像
fastboot boot (分区镜像)
# 例:启动到recovery分区:fastboot boot recovery.img

# 刷入ROM
fastboot update (刷机包)
# 例:将 update.zip 刷入:fastboot update update.zip

# 解锁Bootloader
fastboot oem unlock (参数见视频,视机型而定)

# 多设备使用
fastboot -s (命令)
# 通过fastboot devices获取序列号,控制多设备中的一个
# 例:清除序列号为'abc'设备的system分区:fastboot -s abc erase system

进入开发者选项,点击若干次版本号即可,然后打开ADB调试。(ADB调试有很多工具箱可以用,比如搞机工具箱或者秋之盒等等)。

解锁Bootloader

 首先,需要打开OEM解锁,在开发者选项中打开这个选项。有就打开,没有就算了。

 然后,需要进行root,下面需要分品牌讨论。(除了魅族之外,都需要先解锁Bootloader才能root,修改Boot分区,刷入Magisk解锁BL失去保修

品牌 方法
魅族 打开魅族官网下载root权限软件,复制PSN和CHIPID,选择绑定机型,在网站上填好信息即可。
小米 1.进开发者选项查看解锁状态;2.绑定账号设备;3.进入fastboot;4.电脑下载官方工具;5.登录后连接手机,按工具内操作
一加 1.进入fastboot;2.电脑输入fastboot oem unlock;3.在手机上确认
三星 1.关机后同时按音量±并插上电脑;2.根据提示
索尼 1.拨号盘输入*#*#7378423#*#*;2.service info-configuration;3.查看bootloader unlock allowed,并记住IMEI;4.打开索尼网站选择机型,输入IMEI,记住解锁码;5.fastboot模式下,电脑输入fastboot oem unlock 0x_____(这里填入解锁码)
MOTO 1.fastboot模式下,电脑输入fastboot oem get_unlock_data;2.会返回几行数据,将所有数据首位拼接;3.登录官网解锁页面填入代码,验证通过后邮箱发送解锁码;4.fastboot模式下,电脑输入fastboot oem unlock <解锁码>
oppo/realme 1.进入oppo/realme后查看你的机型;2.在页面底部下载对应app,在app提交申请;(可以在官网查看要求)

因此,如果想玩机,推荐小米和一加。许多论坛都有资源,如国内的酷安或者国外的xda论坛。

root

 前面有讲到root其实就是更改boot分区,更改boot分区就需要使用Recovery,所以接下来分两种方式进行root

root方式1

 类似于电脑需要用一个PE来刷入新系统,所以我们需要一个Recovery来刷入新系统。但是,官方的Recovery的话,功能受限,所以需要一个第三方的Recovery,比如最著名的是:TWRP(Team Win Recovery Project)。在TWRP下载对应固件,或者在论坛找魔改固件。

 fastboot模式下,电脑输入fastboot flash recovery xxxx.img(xxx.img是你下载的固件名字)。刷入完成后,如何进入Recovery呢?一是通过fastboot直接进入Recovery;二是开机后,通过adb命令(adb reboot recovery)进入,比较方便;三是fastboot模式下,通过adb命令(adb reboot bootloader)进入,也比较方便;四是查看下表。

品牌 电源键 音量- 音量+ 其他
小米
OPPO
一加
索尼
三星 bixby键(如果有)、数据线(OneUI 3以后)

 前面是root的准备工作,现在开始root。首先先接刷一款工具——Magisk,这是一个root管理工具。把这个包(一般是zip文件)放入手机里,然后在TWRP中install这个包,然后重启。再把刚刚的包改成apk,即可安装这个管理软件。打开Magisk后,如果显示版本,并且底部栏有超级用户选项。就代表root成功。

root方式2

 现在有一个更简单的方法,那就是直接刷入boot镜像。流程就是,提取当前的boot镜像,然后由Magisk APP修补之后成为新的boot,再用命令刷入Boot(fastboot flash boot BOOT.img)。

 这个问题在于,你需要先root才能提取boot镜像,但是我们就是为了root才要提取镜像,现在陷入死循环了。方法之一就是,求助万能的网友,下载网上的boot镜像,也就是下载刷机包/线刷包,有些品牌如一加,官网就有对应刷机包。小米红米的话,可以去xiaomirom.com这个网站下载;方法之二就是,可以在手机更新那里下载完成安装包,这样就可以把完整镜像下载在Download文件夹里。

 假设你搞到了线刷包(解压后有boot.img),或者搞到卡刷包(解压后有payload.bin文件,使用payload_dumper这个文件解包,解包后找到boot.img),或者是直接就有boot.img。将你获得的boot.img文件传到手机,然后手机上先装好Magisk,打开之后,点击安装-选择修补一个文件-选择boot.img文件,等待修补完成。可以在Download文件夹找到修补后的boot文件,然后拷贝到电脑上,fastboot模式下刷入boot即可(fastboot flash boot)。

Magisk更多玩法

 可以更改系统字体,更改音效(ViperFX),刷入性能控制脚本续航控制脚本,修改CPU调度,降压超频,修改游戏分辨率(GLTools)等等功能。

 下面来讲讲Magisk原理,它是在挂载一个跟System文件相隔离的系统来加载自己的内容,一切都在bootloader阶段就完成了,所以实现了功能,但是系统毫发无损。它不对System分区修改,所以它可以隐藏root,其他软件会检测不到root,这些软件可以正常工作。

救砖刷机

常规救

 如果进不了Recovery,那么就只能通过线刷来救砖了,就是得在fastboot下进行救砖。有些厂商有自己的线刷工具,如下表

品牌 刷机工具 刷机模式
小米 Miflash Fastboot
OPPO/一加 QFIL/MSM 9008
realme realme flash Fastboot
索尼 Flashtool/Newflasher SOMC强刷模式
三星 Odin3 Download挖煤模式

 救砖流程就是,拿小米举例子:下载小米线刷包-进入fastboot连接电脑-miflash重刷系统即可。

更底层的救

9008,记住这个数字,在百度或者谷歌搜一搜即可,适合高通的救砖。SP Flash便是联发科对应的工具。

 如果进不了fastboot,或者想要更改基带信息等等更底层的信息。严谨来说是:EDL串口线刷模式。

注意:网上不一定能找到这些工具。