手机刷root
什么是root bootloader recovery 内核 面具
在安卓系统中一共有三种权限,
- 第一种是软件权限 第三方软件,他们的权限是最低的,
- 第二种是用户权限,也就是你在使用自己手机时能执行的权限,例如设定锁屏密码 重启手机 卸载第三方软件等操作,这些操作是普通软件做不到的,
- 最高的权限当属超级用户 也就是ROOT权限,拥有这类权限就可完全控制手机,去实现手机系统本身不开放的功能,如修改手机型号 卸载系统软件,甚至实现对硬件的控制,比如修改CPU调度 对GPU进行超频,
了解安卓的分区,
# 安卓的分区
# boot分区
boot分区存放有启动和引导文件,
- 包含操作系统的Kernel(内核)和Ramdisk(虚拟内存),
- 目前安卓root的操作主要也是在修改boot分区,
- 我们改CPU的调度 或者给GPU超频,很多这些操作也是涉及boot分区的,
- ‘如果boot分区被擦除或损坏手机就不能正常启动,通常会卡在开机的第一屏 也就是logo界面,
system分区
是系统分区
包含了整个操作系统和预装软件等,我们的系统升级或刷机通常就是在操作这个分区的,
损坏则会卡在开机的第二屏,也就是开机动画界面 无法进入系统,
与之相似的还有一个Vendor分区,
- 它包含了开发厂商定制的一些应用和库文件,现在很多厂商也直接将这些文件放入system分区,方便后期更新维护,
data分区
- 数据分区,
- 包含了手机使用中存储的各种数据,
- 擦除此分区相当于清空所有软件的数据,包括你的各种软件数据 文件资料,还有系统的各项设置,但它不会影响手机正常启动,
cache分区
安卓系统缓存区,
缓存可以帮助你快速打开系统最常访问的数据和应用程序,无需重复加载,
擦除这个分区并不会影响个人数据,新的缓存会在后续使用手机的过程中自动生成,
recovery分区
- 恢复分区,
- 用来恢复和更新其他分区的内容,类似Windows PE,你可以把他理解为一个非常简易的操作系统,除了恢复 它可以对其他分区进行擦除 重启等操作,
- 因此我们刷机刷系统很多时候都是在这个Recovery里进行的,
- 不过近年来 出现了越来越多不存在Recovery分区的手机,这是因为从安卓7.0开始引入了新的OTA升级方式 A/B System Updates,
A/B System Updates
- 将boot system等分区变为两套,叫做slot A(boot_a, system_a...)和slot B(boot_b, system_b...),也就是发烧友常说的AB分区,
- 平时用的叫主分区 没在用的那个是备用分区,
- 好处,
- 系统升级可以做到无缝升级,用户可以边用手机 边在后台升级系统,这个升级的是备份分区里的系统,升级完成后重启手机,备份分区会自动切换到主分区,这样升级系统方便省时,
- 防止升级失败导致卡机,当系统无法成功启动时就会切回之前的分区,
缺点
- 占用双倍的system分区空间,因为总有一个分区是拿来做备份的,
AB分区(VAB),
于是又有了VAB虚拟AB分区,目前出厂搭载安卓11的机型普遍采用了这种新的虚拟AB分区(VAB),
不论是A/B分区还是VAB分区,这样的机型刷机总会麻烦一些,因为Recovery被并到boot分区里了,要想刷第三方Recovery就会非常折腾,更多时候我会推荐不用Recovery刷机,而是通过更底层的fastboot来操作,
# fastboot与bootloader(bl)
- 如果我们把Recovery比作PE,那fastboot所属的bootloader就是电脑上的BIOS/UEF了,
- bootloader就是引导加载器,在你长按电源键开机的一刻起,bootloader就开始工作了,这段时间内会初始化硬件设备
- 引导操作系统内核,也就是刚刚提到的boot分区,在引导后期我们可以选择进入一个叫fastboot的阶段,这个就是很多玩家常说的刷机模式,它比Recovery更加底层,
在fastboot下 我们可以通过连接电脑输命令来直接刷机,不管是解锁设备 注入boot镜像 还是线刷系统,很多操作都要通过fastboot来进行,这也是我们刷机的时候经常需要使用的一个模式,
- 比如在小米手机上我们就可以通过关机后,按下电源键和音量-键进入fastboot模式,不同手机进入fastboot的方式可能会不太一样,我们这里列举了一些 你也可以自己试试看,
# 电脑端配置环境
做好准备工作才行,你可以去安卓官方 (opens new window)的链接下载电脑端用的Android SDK,解压后你可以看到这里面有个fastboot文件 ,
我们让手机进入fastboot模式插上电脑,然后在有这个fastboot文件的目录下打开命令行,我们可以先输个fastboot devices
检测一下设备,如果能检测到我们的设备就表示连接成功了,
当然,也有可能检测不到设备,那或许是驱动出问题了,我们可以打开设备管理器,你会找到一个叫“Android”的未知设备,给它安装fastboot驱动就好了,fastboot驱动 (opens new window)我们放到了视频简介里,包括上面提到的SDK链接,你需要的话都可以直接去下载,
成功把手机连接上电脑之后,我们就可以在fastboot模式里,用电脑输命令刷机了,在简介的链接里面我们也准备一些常用的fastboot命令,你可以稍微记一下 后面或许能用得上,
不过和Recovery不同的是,bootloader并不属于安卓的某个系统分区,就像BIOS一样 它是根植于手机的,所以如果你把手机刷坏了 不知道该怎么办,那你永远都可以试试能不能进fastboot刷机,往往你都能通过fastboot把它救回来,后面我们也会提到救砖的一些相关内容,
# 卡刷和线刷
其中的线刷指的就是用这里的fastboot来刷机,因为fastboot刷机需要连数据线到电脑,
而卡刷指的就是把你要刷的包拷进手机里,直接在手机上刷,
# 玩转手机
进开发者选项,顾名思义 这个模式是给开发者使用的,因此它默认是关闭状态,
- 我们可以进入手机的参数页面,连续点击7次版本号来启用开发者选项,这里有很多的设置项,其中对玩机来说比较重要的就是这个USB调试,也就是ADB(Android Debug Bridge)安卓调试桥,这是安卓提供给我们用于调试设备的命令行工具,借助adb我们就可以在电脑端通过各种命令来控制手机了,比如你可以从电脑上输命令给手机安装软件,调整分辨率 模拟按键点击等等,很多的玩机小工具也都是借助adb来修改手机的,例如搞机工具箱 秋之盒等等,通过adb实现这些功能并不需要ROOT权限,而且所有安卓设备都支持,可以说非常地有用,adb能做的事情很多,
- 但它不能做的事情也很多 而且要依赖电脑,毕竟这只是一个调试接口,并不代表你接管了系统权限,想要好好玩机 我们还是得ROOT
# Root
第一步就得开启开发者选项里的这个——OEM解锁,
- 这个是任何刷机操作前必须要打开的,如果有必须打开 没有的话倒也没关系,有些手机可能没提供这个选项也一样能刷,这个只有试了才知道了,而且就算你能打开OEM解锁,也不代表你一定能ROOT,
不同品牌的机型获取ROOT的方式也不同,这里我们需要分品牌来讨论了,
- 首先 ROOT起来最简单的一个牌子,你们猜猜是谁?,其实是魅族,
- 你只要在需要ROOT的手机上登录flyme帐号,登录魅族官网,在申请root的界面扫码下载一个叫做ROOT授权的软件,打开后复制PSN和CHIPID 选择绑定的机型,再按要求填写各项信息就可以提交审核了,审核通过会收到短信通知,这时候再打开这个ROOT授权就可以一键获取ROOT了,
- 之所以说魅族的ROOT最简单是因为它不需要你解锁bootloader,
对于其他几乎所有品牌来说 ROOT都是分两步走的,
- 首先需要你解锁bootloader,
- 然后再修改boot文件刷入Magisk,
前面我们已经讲到了 bootloader是引导加载器,相当于BIOS 这个东西非常的重要,它从根本上决定了你的手机能不能root,手机出厂的时候为了保护安全,厂商都会对bootloader上锁,如果不解锁bootloader你就无法对分区进行更改,
而ROOT的过程其实就是在修改boot分区,不解锁bootloader自然也就无法root了,
在开始前你要注意的是,解锁bl虽然可以大大提高手机的可玩性,但目前除了小米和一加,其他的机型解锁都会失去官方的保修,就算没有损坏硬件,有些机器也会导致某些功能的永久失效,
- 例如三星解锁后会熔断Knox,也就是三星的安全模块,导致无法使用三星支付,
- 而且解锁会清除系统数据,因此解锁bl前 你得先权衡一下利弊,况且 这bl锁并不是所有手机都能解锁的,
2022年,要说比较容易解锁的品牌,那可能只剩下小米 一加 三星,以及像索尼 摩托罗拉这些品牌了,
- 现在小米几乎全型号都可以解锁bl,你可以进开发者选项点击查看解锁状态,再点击绑定帐号和设备,确认打开OEM解锁之后,将手机关机 然后按组合键进入fastboot模式,然后在电脑上下载官方提供的解锁工具,登录之后连上手机,按照工具内的提示就可以解锁了,
- 一个小米账号每年限制解锁4台不同的设备,且每月限制解锁一台设备,
- 如果解锁的手机是在售的新机型,一般需要等待168小时 也就是7天,
- 如果本年度解锁手机数超过2台,等待时间还会相应延长,
- 一加的解锁就要简单很多了,不管你用的是氢OS还是Color OS,解锁的方法从未改变,
- 我们可以进入fastboot模式,在电脑端输入fastboot oem unlock这行命令后,手机就会询问你是否要解锁,我们通过音量键和锁屏键来确认解锁,
- 三星的解锁也是比较容易的 不需要等待,在关机状态下按住音量+和音量-的同时插上数据线连接电脑,手机屏幕会显示一个引导界面,根据提示长按音量+键会跳转到解锁确认界面,再按一次音量+就可以解锁了,
- 索尼的解锁操作比较神奇,我们可以通过在拨号盘输入*##7378423##*,点击service info 再点击configuration,这里会有一个Bootloader Unlock allowed,如果后面显示Yes则表示该机型能够解锁,
- 我们打开索尼的申请解锁网站,在底部选择你的机型,输入手机的IMEI后即可获取解锁码,我们进入fastboot模式之后,在电脑上输入fastboot oem unlock 0x + 解锁码,即可完成解锁,
- 还有一个操作比较神奇的是摩托罗拉,我们进入fastboot模式之后输入命令,fastboot oem get_unlock_data 之后会返回几行数据,我们将每行bootloader之后的代码拼接起来,登录摩托罗拉官网上的解锁页面,把这个代码填入网页中,验证通过后会往你的邮箱发送解锁码,最后输入fastboot oem unlock + 解锁码,即可完成解锁,
- 像华为 早期的华为手机是很容易解锁的,但从2018年5月开始官方关闭了解锁服务,现在你要解锁的话,可能只能借助某宝的帮助了,最后一代能折腾的华为手机我没记错的话,应该是Mate20,P30这些,反正后面的新机肯定都无法解锁,自然也就不能ROOT了,
- 同理 荣耀的手机也是不能刷机的,
- 然后是OPPO旗下的机型,其中一加我们刚刚已经讲过了 非常好折腾,但是OPPO本家和Realme的情况就要复杂一些了,oppo和realme解锁bl都需要申请深度测试,其中有两个重要的要求,机型上市时间必须超过3个月且帐号60天内无申请记录,如果这款机型是比较热门的,那么他在三个月后将很快获得官方的解锁支持,比如这里就显示了一些目前获得支持的机型,在这篇公告的底部就可以根据机型下载专属的深度测试app,在app内提交申请需等待一个月,之后就可以解锁了,你可以去官方的这篇帖子看一下 写的非常详细了,但如果某个机型在发布一段时间后没什么热度,或比较小众 或者工程师比较懒,那么官方很有可能永远不提供深度测试,遇到这种情况只能放弃或去论坛不断催更了,
- 最后是vivo的机型,不论是vivo还是iqoo 官方始终没有开放BL解锁,想解锁或root只能通过非官方手段,例如可能联发科的机器可以破解,或者利用第三方工具等等 这里就不详细讲了,
- 因为这样获取root很可能会出一些问题,我觉得是弊大于利的 就不推荐大家瞎折腾了,总的来说,每个品牌对于自家产品能否解锁bl是持有不同态度的,如果你想经常性折腾可以考虑用小米或一加,这两个品牌不仅解锁方便,同时还拥有充足的玩机资源,比如国内的酷安或国外的xda论坛,大家在遇到一些常见的问题也能自行搜索解决掉,
好了 我们现在已经把手机解锁了,那么接下来就可以ROOT了,
目前的安卓ROOT主要有两种方法,
- 第一种方法是通过第三方recovery来root,这也是传统发烧友比较喜欢用的办法,我们刚刚已经讲过了手机的Recovery是用来恢复系统的,类似于PE的存在,但手机出厂给的Recovery通常只有简单的恢复功能,不会允许你乱刷东西的,想要实现PE一般的效果,
- 我们就需要先刷一个好用的第三方的recovery,这样你后面就可以干很多事了,不光可以ROOT,你也可以刷内核 刷系统 备份数据,
- 现在最知名的rec当属**TWRP (opens new window)**,我们可以进它的官网 看到设备支持列表,你可以选择你自己的设备 下载这个img结尾的文件,有的机型可能官网没适配,但是民间论坛里可能也会有大神去做适配,这个就需要你好好找一找了,
- 然后手机进入fastboot,连接电脑 在电脑上执行刷写命令,把TWRP线刷进手机里,刷完之后想要进Recovery也很简单,
- 有些机器可以直接从fastboot里进Recovery,
- 像一加这种fastboot你是可以用音量键切换进Recovery,或者你可以在关机状态下通过组合键进Recovery,
- 比如小米就是按音量+键+电源键,
- 我这里也汇总了一下其它各品牌进Recovery的组合键,
- 如果你成功刷上了Recovery 应该就能进入这个界面了,这个就是TWRP的界面,
- 那除了fastboot和组合按键之外,你也可以在开机进系统之后通过adb命令让手机直接重启到Recovery,这在你后面玩机的时候会是一个比较方便的办法,
- 包括fastboot模式也是可以通过开机的时候输adb命令进入的,刷完第三方rec后准备工作就做好了,我们可以开始root了,
- 我们就需要先刷一个好用的第三方的recovery,这样你后面就可以干很多事了,不光可以ROOT,你也可以刷内核 刷系统 备份数据,
# Magisk
这里就得介绍现在最流行的ROOT管理工具Magisk,Magisk就是我们说的面具,
- 他不仅可以用来获取系统root权限,还可以挂载各种模块,甚至还能对指定的软件隐藏root权限,可以说是玩机必备了,
步骤
- 我们将Magisk的包复制进手机,进到TWRP里刷入这个包,然后重启 你的Magisk就算刷上了,
- 我们再把这个刷机包的zip后缀改成apk,就可以安装magisk管理端了,打开后如果显示了Magisk版本,底下这里有“超级用户” 就代表ROOT完成了,
其实用TWRP来ROOT还是有点麻烦的,
首先它需要TWRP适配你的手机,不然你只能自己编译 或者等社区里的大神帮忙,这个门槛还是有点高的,所以说白了并不是所有的手机都有TWRP的,
其次就是有些AB分区的手机我们之前也讲到了,刷Recovery会比较麻烦 你可能要刷两遍TWRP,第一遍是临时刷 第二遍是固化 折腾起来也挺烦的,只是出于发烧友的喜爱 我们把TWRP放前面讲,
实际上还有一种更简单 更通用,也是我平时用的更多的ROOT的办法,就是直接在fastboot里刷boot镜像,
- magisk获取root的原理是对boot分区进行修补,Recovery里是可以直接操作的,但就算不用Recovery,我们当然也可以提取出当前系统的boot镜像,交给magisk app修补完之后 再动手刷回去,
- 但是问题来了 这boot镜像该怎么提取呢?,手机在开机状态下提取boot可是需要root权限的,我们现在不就是想要root权限吗?,没有root权限 怎么提取boot?,这就是个死循环了是吧,、
- 其实 问题不大,因为boot镜像也不一定要从我们自己的手机里面找,厂商在网上挂出来的刷机包里面 就有boot镜像,我们直接用那个就行了,只要找到和当前系统版本对应的刷机包,提取其中的boot可以了,刷机包找起来并不难,
- 你像一加的话直接在官网论坛里就有刷机包,如果是MIUI话我比较推荐去xiaomirom.com这个网站下载,这里汇总了几乎每款机型的各种版本,稳定版开发版全都有,都是来源于官方的更新,实在不想去找的话,你也可以在手机系统更新这里选下载完整包,它会把最新的卡刷包下到download文件夹里,下载好刷机包 解压,线刷包一般直接就能找到boot.img文件,那么拿出来用就可以了,
- 但如果是卡刷包 会稍微麻烦一点,解压出来会有一个非常大的payload.bin文件,我们可以用payload dumper这个工具来解包,解包完成后就可以找到boot.img,
- 我们把拿到的boot文件传到手机里,你在手机上先装好magisk的管理app,打开之后点击安装 选择修补一个文件,我们需要修补刚刚放进来的这个boot文件,一番等待之后它就会把修补完的镜像导出到download文件夹里,
- 我们把这个文件拷到电脑上,然后把手机重启到fastboot模式,再用fastboot命令刷入这个修补后的boot就可以获取root权限了!,
其实借助fastboot线刷,你不光可以root手机 也可以刷系统,比如小米手机你觉得MIUI13太垃圾,想退回12 你就可以下个12的线刷包,然后用MiFlash这个官方工具 进fastboot线刷,就可以刷回你想要的系统了,miflash用的时候注意右下角这里,千万不要勾选第三个,会重新给你上锁回去,前面两个怎么选 你自己看着办就行了,
既然fastboot也能刷机,那为什么发烧友还是都喜欢用TWRP呢?,主要还是因为TWRP的功能更加丰富,拿TWRP刷系统你有很多已经帮你做好的脚本,你拿TWRP来刷系统,就有很多的可选项可以用,像我的话 如果是刷第三方的系统,我会更多用到TWRP的刷机,比如我给这部一加7Pro刷上了MIUI,毕竟自带的H2OS也算是名存实亡了,我们可以瞎折腾玩儿了,换个第三方系统玩玩也不是不行,我们甚至还可以给这台nexus 5刷上Ubuntu Linux,刷来刷去就非常有意思,
包括TWRP还有备份和恢复功能,你可以备份system和boot分区,如果在折腾的过程中无法进入系统了就可以直接恢复回去,比起fastboot重新刷机,你可能就不用丢失数据了,
Magisk相比几年前的ROOT管理工具,最突出的功能便是各种好用的模块,我们现在刷完ROOT之后,第一个就可以探索各种模块,
- 比如我们可以刷上字体模块来更换系统的默认字体,做一些简易的美化,
- 比起早期的ttf单字体主题包,magisk字体模块更容易支持多字重,字体的粗细效果表现会显得更加丰富自然,
- 除了美化,我们还可以刷一些系统级的软件来提升使用体验,比如V4A音效,这是目前安卓端最强的音效驱动,
- 能调节的选项非常多,还根据音频的输出方式分别进行调节,例如有线耳机 蓝牙耳机 扬声器等等,如果你不想花钱买高档的耳机和前端,那么折腾一下这款音效工具也许,能给你带来意想不到的惊喜,
- 如果你是游戏玩家 想要增强性能或者续航,那你可以刷性能控制脚本 也就是调度,例如现在比较热门的yc调度,你可以在它给你的这四档里面选一个CPU控制策略,在玩游戏的时候就选择性能模式,日常使用就选择省电或平衡模式,这很多时候能比官方默认的调度表现出更强的性能或续航,
另外还有一些工具类的软件,可以通过ROOT轻松修改系统底层参数,
- 例如Scene里面你可以改CPU调度,可以给每个软件定义一种调度,也可以用它默认给你调校的各种预设,你可以改机型 还可以把抬头显示切出来,方面查看CPU的频率还有各种参数,功能非常多,
- 这样的工具还有很多,像是STM工具箱 搞机工具箱等等,这些工具箱往往不止一个功能,我就不一一介绍了 你们可以自己下载了玩玩看,
还有一些功能比较单一但却非常强大的软件,
- 例如可以给GPU降压超频的konabess,我们之前的节目里就是用这款工具给骁龙855超频到了840Mhz,GPU性能直逼骁龙870了,像这种只要ROOT就能轻松折腾性能的软件还是很有意思的,那么性能上去了,玩游戏的帧率和画质是不是也该提高一下呢?,
- 比如说修改原神或者王者的分辨率,我们可以借助一款叫gltools的工具,很多游戏的渲染分辨率是远低于你的屏幕分辨率的,你就可以用gltools改到1080P,是不是明显清晰很多了呢?,当然对手机GPU的压力也会明显大不少,这个就只能量力而行了,gltools不光可以拉高渲染分辨率 显示帧率,还能强制高刷
Magisk的ROOT原理是非常独特的,和在rec里刷模块不同,magisk通过挂载一个,与系统文件相隔离的文件系统来加载自己的内容,一切都在Bootloader阶段完成,在实现功能的同时让系统分区毫发无损,
更重要的是 既然他不对system分区做修改,
那么他还有一个很重要的功能是隐藏root,有很多软件会检测设备的root权限,比如很多银行APP 支付软件,如果root了就无法使用,但现在问题不大,因为Magisk一直是可以隐藏ROOT的,让这些软件检测不到ROOT 都能正常工作,可以说现在玩机的类似这种障碍是越来越少了,视频做到这里,
# 救砖
想root的同学应该已经开始尝试了,等不及要刷机了是吧?,你别着急 在你走之前,我这里还有一个速效救心丸要给你带上,我们得聊一下救砖,刷机这个事 很多时候是要靠经验的,
对于刚刚接触玩机的新手来说,把手机搞变砖是再正常不过了,所以掌握一些基本的救砖思路还是很重要的,
最常用到的救砖方法就是fastboot救砖,
- 我们提到了 fastboot刷机称为线刷,它比recovery卡刷更底层,很多时候我们把机器玩坏了进不了系统,甚至进不了Recovery,这种时候我们往往可以通过线刷来救砖,
- 线刷的工具和方法根据品牌也会有所不同,有的品牌还有自己的专属刷机模式,我这里列举一些常见品牌的线刷工具和方法,大家可以自己搜索,这里说是说救砖 写的都是刷机工具,说白了你变砖之后最无脑的救法肯定就是重刷系统嘛,
- 比如我小米变砖了怎么办呢?,我就去xiaomirom.com上找一个我能用的线刷包,然后我手机进fastboot连接电脑,再拿miflash重刷系统就是了,有同学可能会好奇,这里怎么没有一加和OPPO呢?,
- 一加和OPPO官方给的刷机工具是9008,9008是高通平台更底层的刷机工具,其实我觉得不到万不得已大可不必,咱们自己去fastboot里输flash命令就行了,我觉得会方便很多,
- 不过既然说到了9008那我们得好好聊一聊这玩意了,这也是非常重要的,虽然fastboot线刷方法能解决大部分软件问题,但它不可以刷写一些比较底层的内容 例如基带串号,还有的情况是玩家直接把手机刷成黑砖了,fastboot都进不去了,那这个时候你就只能用这张底牌了,就是我们刚刚讲到的9008模式,严谨的讲法叫EDL串口线刷模式,毕竟是底层刷机模式,只要你用的是高通平台,它可以解决手机几乎所有的软件问题,同样地 对于联发科的机型可以使用SP Flash工具来刷机,和fastboot模式刷机不同,这些底层工具的刷机包并没那么容易找到,而且刷机工具也可能经过了厂家的定制,加入了验证机制,例如小米的Miflash就需要帐号授权才能使用9008模式刷机,网上虽然有免授权文件 但并不是全机型通用的,所以你的手机如果变砖了进不去fastboot,你当然可以尝试9008,但我不能保证你自己一定解决得了,如果实在找不到工具或者搞不定的话,那你还是送去售后刷机,或者某宝找人远程帮忙吧