参考视频:玩机必看!带你入坑安卓刷机,小白也能看懂的ROOT基础指南来啦!

玩机资源合集:wanji.jamcz.com

解BootLoader——BL锁

开启开发者选项

  • 连续点击设置/我的设备/全部参数中的MIUI版本打开开发者选项
img
  • 进入设置/更多设置/开发者选项/设备解锁状态,点击绑定账号和设备

(注意绑定账号与设备时需要关闭wifi在移动网络下进行)

img
  • 下载解锁工具

解锁工具下载地址

解锁工具国际版

img
  • 进入FastBoot模式
    关机后(不要连接电脑),同时长按开机键+音量下键,进入FastBoot模式,再连接电脑
  • 小米手机解锁工具中显示已连接手机

点击解锁

image-20220619173940956
  • 账号与设备绑定后间隔168个小时(一周)才能进行解锁
image-20220619174204522
  • 解锁成功
image-20220703000345550

安卓的分区

image-20220703173145649

Boot分区

Boot分区存放有启动和引导文件,它包含了操作系统的Kernel(内核)和Ramdisk(虚拟内存),目前安卓系统Root的操作主要也是在修改Boot分区。

此外我们修改CPU的调度或者给GPU超频,很多这些操作也是涉及Boot分区的。

如果Boot分区被擦除或损坏,手机就不能正常启动,通常会卡在开机的第一屏,也就是Logo界面

image-20220703174219540

System分区

System分区是系统分区,它包含了整个操作系统和预装软件等。我们的系统升级或者刷机通常就是在这个操作这个分区。

System分区的损坏会卡在开机的第二屏,也就是开机动画界面,无法进入系统

image-20220703174508287

Vender分区

与System分区相似的还有一个Vender分区,它包含了开发厂商定制的一些应用和库文件,现在很多厂商也会直接将这些文件放入system分区里面,方便后续的更新和维护。

image-20220703174609577

Data分区

Data分区用于存放用户数据,包括应用、音视频、图片、文档、系统设置等

擦除这个分区相当于清空所有软件的数据,包括你的各种软件数据、文件资料还有系统的各项设置,但它并不会影响到手机的正常启动

Cache分区

Cache分区是安卓系统的缓存区,缓存何以帮你快速打开系统最常访问的数据和应用程序,无需重复加载。擦除缓存分区并不会影响个人数据,新的缓存会在后续使用手机的过程中自动生成。

Recovery分区

Recovery分区是恢复分区,这个分区可以用来恢复和更新其他分区的内容,类似于Windows PE系统,可以理解它为一个非常简易的操作系统。除了恢复,它还可以对其他分区进行擦除、重启等操作。

小米手机在关机状态下长按音量++开机键可以进入Recovery

image-20220703172820597

A/B分区

image-20220703180739418

近年来,出现了越来越多的不存在Recovery分区的手机,这是因为从安卓7.0开始引入了新的OTA升级方式——A/B System Updates。这种升级方式是将Boot和System等分区变为两套,叫做slot A(boot_a, system_a,…)和slot B(boot_b, system_b,…),即A/B分区。平时用的叫做主分区,没在用的叫做备用分区。

这样做的好处是:1.系统升级可以做到无缝升级,用户可以边用手机边在后台升级系统,这个升级的是备用分区里的系统,升级完成后重启手机,备用分区就会自动切换为主分区,这样升级系统方便省时。2.AB分区的另一个好处就是防止升级失败导致的卡机,当系统无法重新启动时就会切回之前的分区。

AB分区的缺点就是会占用双倍的system分区空间,因为总有一个分区是要用来作备份用的。于是有了VAB——虚拟AB分区,目前出场的搭载安卓11及以上的机型普遍采用这种新的虚拟AB分区(VAB),解决了空间占用问题。

FastBoot

但是从玩机发烧友的角度讲,不论是AB分区还是VAB分区,这样的机器刷机总会麻烦一些,因为Recovery被并到了Boot分区里了,要想刷第三方的Recovery就会非常折腾。更多时候会推荐不用Recovery刷机,而是通过更底层的FastBoot来操作。

image-20220703180642104

BootLoader

如果将Recovery比作PE,那么FastBoot所属的BootLoader就是电脑上的BIOS/UEFI

BootLoader顾名思义是引导加载器,从你长按电源键开机的那一刻起BootLoader就已经开始工作了,这段时间内会初始化硬件设备,引导操作系统内核,也就是Boot分区。在引导后期我们可以选择进入一个叫做FastBoot的阶段,这就是常说的刷机模式,它比Recovery更加得底层。

image-20220703221549832

在FastBoot下,我们可以通过将手机连接电脑输入命令来直接刷机,不管是解锁设备,注入Boot镜像,还是线刷系统,很多操作都要通过FastBoot来进行,这是我们刷机的时候经常要用到的一个模式

image-20220703223238162

小米手机可以在关机状态下长按电源键+音量-进入FastBoot模式,不同手机进入FastBoot模式的方式可能不太一样。

电脑端环境的配置

你可以去安卓官方下载电脑端用的Android SDK,解压后里面有个fastboot.exe文件,将手机进入FastBoot模式连接电脑,然后在有fastboot.exe文件的目录下打开cmd命令行,可以先输入一个fastboot devices检测一下设备,如果能检测到我们的设备就表示连接成功了。如果没有检测到设备,那或许是驱动出问题了,可以打开设备管理器,找到一个叫做“Android”的未知设备,给它装上FastBoot驱动就好了。

安装驱动的具体步骤参见极客湾视频 6:50 开始

image-20220708231832299

不过和Recovery不同的是,BootLoader并不属于安卓的某个系统分区,就像BIOS一样,它是根植于手机的,所以如果你把手机刷坏了不知道该怎么办的时候,你永远都可以试一试能不能进FastBoot刷机,往往都可以通过FastBoot把它救回来。

线刷和卡刷

线刷指的就是用这里的FastBoot来刷机,因为FastBoot刷机需要连接数据线到电脑,而卡刷指的就是把你要刷的包拷进手机里,使用Recovery来直接在手机上刷机。

Pixel和PE系统

Pixel Experience 系统,原生Google系统体验

pixelexperience是现在流行的第三方安卓rom,简称pe

TWRP

在解锁bl锁之后就可以开始root了。目前安卓的root主要有两种方法,第一种方法是通过第三方Recovery来root,这也是传统发烧友比较喜欢的办法。之前提到过,手机的Recovery是用来恢复系统的,它类似于windows-PE的存在,但是手机出场自带的Recovery通常只有简单的恢复功能,防止用户乱刷系统。想要实现windows-PE一样的功能就需要先刷一个好用的第三方Recovery,这样后面就可以干很多事情了,你可以刷内核,刷系统,备份数据等等。

image-20220703172820597

当前最知名的第三方Recovery当属Team Win Recovery Project

手机在开机状态下连接电脑,可以使用adb reboot recovery命令快速进入recovery

Magisk

Magisk

Magisk是现在最流行的ROOT管理工具,它不仅可以用来获取系统的ROOT权限,还可以用来挂在各种模块,甚至还能对指定的软件隐藏ROOT权限。

将Magisk的包复制进手机里,进入到TWRP里刷入这个包,然后重启,Magisk就刷上了。再把刷机包的.zip后缀改成.apk后缀 ,就可以安装Magisk的管理端了。打开之后如果显示了Magisk的版本,底下这里有“超级用户“就代表ROOT完成了。

FastBoot线刷

其实用TWRP来ROOT还是有点蛮烦的,首先它需要TWRP来适配你的手机,不然你只能自己编译,或者等社区里的大神帮忙,这个门槛有点高。说白了就是不是所有的手机都有TWRP可以用的。其次就是有些AB分区的手机刷Recovery会比较麻烦,你可能需要刷两遍TWRP,第一遍是临时刷,第二遍是固化,折腾起来会比较蛮烦。

在FastBoot里直接刷boot镜像是更简单更通用,使用更多的ROOT方法。

Magisk获取ROOT的原理是对boot分区进行修补,这个在Recovery里是可以直接操作的。但是就算不用Recovery,也可以提取出当前系统的boot镜像,交给Magisk app进行修补,修补完之后再手动刷回去。

image-20220708102714059

问题来了,boot镜像该如何提取呢?手机在开机状态下提取boot可是需要ROOT权限的,我们现在不就是想要ROOT权限吗!没有ROOT权限该怎么提取boot呢?其实boot镜像不一定非要从自己的手机里找,厂商在网上挂出来的刷机包里面就有boot镜像,我们直接用那个就可以了。只要找到和当前系统版本对应的刷机包,提取其中的boot就可以了。MIUI系统可以去xiaomirom网站下载对应的刷机包。

红米 Note 11T Pro / POCO X4 GT (xaga) 国行版 Fastboot 线刷包 & Recovery 卡刷包 ROM

下载好刷机包解压,线刷包一般直接就能找到boot.img文件,拿出来用就可以了。如果是卡刷包会稍稍麻烦一点,解压出来会有一个非常大的payload.bin文件,我们可以用payload dumper这个工具来解包,将payload.bin文件放进payload_input文件夹中,点击payload_dumper.exe,解包完成后就可以在payload_output文件夹中找到boot.img了。

得到boot.img文件后,将其传到手机里。你在手机上先安装好magisk的管理app,打开之后点击安装,选择修补一个文件。我们需要修补刚刚放进来的这个boot.img文件,等待一段时间之后它就会把修补完的镜像导出到download文件夹里。

image-20220709180305951

image-20220709180752121

把这个文件拷贝到电脑上,把手机重启到FastBoot模式(电源+音量-)连接电脑,再用FastBoot命令刷入这个修补后的boot就可以获取ROOT权限了

  • 手机在开机状态下连接电脑,可以使用adb reboot bootloader命令快速进入fastboot
  • 使用fastboot devices命令检查是否连接成功
  • 没有配置环境变量的话,需要将magisk_patched*.img文件放到包含fastboot.exe的platform-tools文件夹下,再在该文件夹下打开cmd,执行下面命令
1
fastboot flash boot magisk_patched[Tab自动补全]

执行输出如下

1
2
3
4
C:...\platform-tools>fastboot flash boot magisk_patched-25100_XMyz4.img
Sending 'boot_a' (65536 KB) OKAY [ 1.457s]
Writing 'boot_a' OKAY [ 0.380s]
Finished. Total time: 1.940s
  • 在解BootLoader锁的时候需要备份资料,系统会被重置,但是在使用FastBoot刷入Boot获取ROOT权限时系统不会被重置
  • fastboot模式下使用fastboot reboot命令重启手机到系统

其实FastBoot的用处是非常多的,你不光可以用它ROOT手机,也可以刷系统。比如小米的MIUI13系统想退回MIUI12,就可以下载一个MIUI12的线刷包,然后用MiFlash这个官方工具进FastBoot线刷。

救砖

Magisk 常见问题

Android 11 刷入 Magisk 模块后无法开机的解决方法

有时候在刷入某个Magisk模块后,由于模块本身与系统不兼容,导致开机卡Logo(第一屏),可以采用进入一次安全模式的方式来禁用Magisk模块

Magisk 更新到了 21 版本,这个版本新添加了一个非常有用的功能,就是:如果 Magisk 检测到手机进入安全模式之后,就会自动禁用所有模块,但不删除。具体来说,就是如果刷入了不兼容的 Module,开机卡 Logo,那么可以强制重启,然后使用快捷键直接进入安全模式,Magisk 就会自动禁用所有的 Modules,接着再次重启机器进入正常模式,这个时候因为所有的 Modules 都是禁用状态,所以可以正常开机,开机之后机器还是 root 状态,这时候直接删掉不兼容的 Module 就行了。

小米系列手机进入安全模式的方式:在开机亮屏后,等待手机震动之后,再长按音量减键,直至开机,就会进入安全模式

安全模式下,系统左下角会显示 “安全模式” 四个字

如果进入了安全模式后,Magisk却并没有禁用模块,那么可以考虑使用adb命令来删除模块

  • 首先进入安全模式

  • 设置/更多设置/开发者选项/调试 中开启USB调试

  • 使用数据线将手机连接电脑

  • 使用adb命令adb devices检查设备是否已授权(需要安装配置adb环境)

  • 确保设备已授权后,使用adb命令删除所有Magisk模块

    1
    adb wait-for-device shell magisk --remove-modules
  • 等待设备自动重启

隐藏Root

shamiko

更新Magisk

How To Update/Install Magisk To Version 26

Magisk模块

如何安装Magisk,LSPosed并刷入第一个模块 —— Magisk&Xposed模块推荐 ep.0

推荐模块

Clipboard Whitelist

  • Github Repository
    Clipboard Whitelist

  • Description
    可用赋予应用后台读取剪贴板的权限,实现复制查词功能

Lsposed模块

  • Github Repository
    LSPosed Framework

  • Xposed Module Repository
    Xposed Module Repository

  • Description
    一款管理 xposed 模块的 magisk 模块,可以通过其下载安装 WeXposed、QAuxiliary、上帝模式等基于 xposed 框架开发的模块。

救砖模块