9102 年了,一键 Root 已经成为回忆
关于 Root,以 CS某N 的带头大哥改个标题,复制粘贴就上的教程一抓一把,没成体系,乱得简直了。踩了点坑,所以,整合梳理了一下 XD
看完这篇 Blog,你应该能对刷机的常见联机模式(Recovery、Fastboot、Android 系统模式)有了解、对 Root 原理 有自己的理解、对 Root 的整体流程能有点感觉
本文分享的是通用刷机原理,各机型具体的刷机操作指南详见专门的帖子,此处无法赘述,另外诸如 ** 高通 9008 线刷 ** 之类的特技不在讨论范围,不会介绍某刷机助手、某线刷机宝 的使用,全部使用 adb 工具箱
文中具体的操作较少,主要堆了点基本概念
为什么刷机
你可以:在手机上自定义 ROM、Root 软件、自定义 Revocery、Xposed 框架、修改设备地址、系统字体、卸载预装 Apps..
总之,刷机之后,就可以光明正大的搞机了
刷机分类
从内容上可分为两类:
- 刷 ROM:重装一套系统
- 刷补丁:在原系统的基础上,拓展某些功能(获取 Root 权限、刷内核、安装 Xposed 框架、安装 Magisk 框架、安装谷歌服务等等)
|
|
刷机方式
卡刷:平时的手机系统升级,就是卡刷的一种。手机进入 Recovery 模式写入固件压缩包来更新、升级;或是直接进行 OTA 更新。
卡刷本质是 对系统文件替换的过程,不会重新刷写整个分区,只是替换部分系统分区文件实现软件版本升级、更换第三方操作系统。即 ROM 包,它一定是一个 zip 压缩文件,打开卡刷包后里面一般都会有 system 和 META-INF 、boot.img (内核) 等文件与文件夹。
线刷:手机连接电脑,用 Android 调试桥接器 (ADB) 直接将 固件、系统底层、驱动程序 等等写入手机,如 Fastboot 模式。
线刷是通过数据线连接电脑来进行刷机、系统底包。是手机生产厂商的一种升级方式,针对智能手机系统问题或非硬件损坏的手机故障来刷写固件,** 替换和覆盖各个分区 ** ,使手机功能恢复正常。一般是 tg 压缩文件,里面是一大堆 img 文件,某些底包里也有文件夹。
一句话总结下:卡刷可以进行简单的刷机和系统更新等操作,线刷则可以进行更深度、更敏感的操作。 线刷彻底,卡刷方便
刷机、Root 流程概述
通用 Root 流程是:解锁 BL - 刷 REC - 线刷或卡刷刷入 SuperSU 或 Magisk
详细一点就是:
- 解锁 Bootloader
- 用手机数据线连接手机按组合键进入
Fastboot 模式
,使用adb
命令行下刷入 第三方 Recovery:TWRP - 卡刷:按组合键进入
Recovery 模式(TWRP)
,刷入 SuperSU.zip 或 Magisk.zip 获得 Root 权限,或者刷入 ROM 包.zip 重装手机系统 - 或线刷:数据线连接手机、电脑,按组合键进入
Recovery 模式(TWRP)
,在高级选项里开启 sideload 模式,在电脑上 cmdadb sideload *.zip
相比较优点是:不需要把包传到手机内存中)
刷机、Root 细节
解锁 BootLoader
一般来说,对绝大多数手机而言。解除 BL 锁,一定是第一步。
解锁 BL 的具体步骤,各机型五花八门:
- 有些需要向官网申请解锁权限并用专用工具解锁(华为、小米),申请解锁码需要等上 n 天时,去某宝有惊喜。
- 有些一条命令
fastboot oem unlock
就能解锁(一加) - 具体问搜索引擎
当然,并非所有机型都会锁 BL,有些机型出厂就是 BL 解锁状态。刚突然发现,菊花厂自 2018 年 7 月起,不给发 BL 解锁码了。反正不会买他家的手机,不作评论(小声 bb :@(喷水)
划重点:解锁 BL 会将手机重置为出厂状态,所有数据清空,务必做好备份
既然能解锁,自然就能上锁,不过…… 务必确保当前 ROM 与 REC 均为官方原版,且未刷补丁的情况下,才能执行上锁操作。
|
|
|
|
刷入第三方 Recovery
所谓第三方 Recovery,也就 CWM 与 TWRP 两款 REC,以及坊间基于它们的各种改款。不过 CWM 已在几年前停摆,目前刷机界是开源的 TWRP 家族独大。TWRP 全称 Team Win Recovery Project,是一个开源社区项目。
先介绍刷入 TWRP:
-
下载合适版本的 TWRP:
- 进入 TWRP Recovery 官网,选机型
- 找到 Download Links,挑选镜像下载 *.img,并导入 SD 卡 或 手机
-
下载并配置 ADB_platform-tools_r28.0.3:
- 将手机和数据线连接,点击手机版本号 n 次,打开开发者模式的
USB 调试状态
- (通常是找到 “设置”»“关于手机”»“版本号”,多次点击版本号后即出现开发人员选项,再进去:
USB 调试模式
。如果不是,点我
- 将手机和数据线连接,点击手机版本号 n 次,打开开发者模式的
|
|
打开 cmd,敲入以下命令:
- 使手机进入 Fastboot 模式:
adb reboot bootloader
- 线刷刷入 REC:
fastboot flash recovery *.img
- 重启手机进入 Android 正常模式:
fastboot reboot
|
|
了解完 解 BL
、刷 REC
,接下来进入正题:Root
Root 原理
在 Linux 中,我们只需要打上 su
命令,就可以拥有 root 超级权限。基于 Linux 内核构建的 Android 系统管理员用户就是 root,该帐户可以访问并修改手机中几乎所有的文件。
su 是运行环境变量 PATH 下面的一个可执行文件,运行之后,当前用户就会被切换到 Root 用户。未 Root 的安卓系统没有 su 这个文件,所以 Root 一个手机,就是将 su 文件放入到系统运行环境变量 PATH 下面
一键 Root 利用了手机的系统漏洞对进程提权放入 su 文件。随着安卓系统的发展,这些漏洞被逐渐修复,早期寻找系统漏洞的方式在大多数机器上无法被用。
这时候,我们可以利用第三方的 Recovery 将 su 程序放入系统文件夹
相信像我一样,你小小的脑袋里满是疑惑:为什么几年前 Root 无比简单,下载 KingRoot 就能一键 Root,越变越难:
|
|
获取 Root 权限并管理
获取
- 在 SuperSU 官网上下载 *.apk 和 .zip (.zip 文件放入手机内存卡刷,apk 之后安装)
- 手机进入 REC 模式:将手机关机,然后按住音量上键 + 电源键开机,出现开机画面 1-2 秒后,放开电源键,音量上键继续按住不动,直至进入 recovery
- 在 REC 主界面,点击 “安装”,即可进入系统目录选择文件,找到刚刚准备好的 *.zip 包刷入
- 完成:手机会自动重启,然后就会进入系统
管理
说起 ROOT 权限的管理,SuperSU
和 Magisk
必须知道。俺只了用到了 SuperSU
,就只介绍它:
|
|
SuperSU
SuperSU 分为:
- 帮助用户管理 Root 权限的 SuperSU.apk
- 帮助用户获取 Root 权限的 SuperSU.zip
为了防止不良软件也取得 root 用户的权限,当我们在 root 的过程中,还会给系统装一个程序,用来作为运行提示,由用户来决定,是否给予最高权限。
这个程序的名字叫做 Superuser.apk。当某些程序执行 su 指令想取得系统最高权限的时候,Superuser 就会自动启动,拦截该动作并作出询问,当用户认为该程序可以安全使用的时候,那么我们就选择允许,否则,可以禁止该程序继续取得最高权限。
Magisk
关于 Magisk,下面的文章写得非常详尽,我也没用上,自取:
数据清理
数据清理是刷机问题中的哲学问题,这里给出我的一套操作(以下参考了 Gapps 文档)
在 REC 高级清除模式中,可自选需要清除的分区。一个比较规范的刷机过程应该是:
- 恢复出厂设置(清除 Data 分区,但内存数据保留)
- 清除 System 分区
- 刷 ROM
- 刷入 Root 包、Gapps 等
- 清除 Dalvik & cache 分区(双清)
- 重启
Tail
最后,刷机有风险,折腾需谨慎
文中难免有不严谨的地方,欢迎细心老哥留言交流
Refer
本文参(cao)考(xi)风味较浓,总结的基本是大佬哥们玩剩下的,你可以继续浏览下面的:
GApps [卡刷和线刷](https://zh.wikipedia.org/wiki/% E5%88% B7% E6%9C% BA) 华为 Nova 获取 Root 权限 一张图,带你玩转安卓刷机! Recovery (Android 手机备份功能) ROOT 与 UNLOCK BOOTLOADER (解锁) 开放的困惑 解读安卓 Bootloader 背后的故事 如何在 Google Pixel 上刷入 TWRP Recovery 以及获得 ROOT 权限 How To Root Huawei Devices Using TWRP and Magisk || Complete Guide