简介
TWRP 是国外安卓爱好者开发的一款工具全称为:Team Win Recovery Project。是一个由Omnirom开源团队中的@Dees Troy主导开发,旨在打造最完美第三方recovery的开源项目。目前主要由包括@Dees Troy在内的4个人共同维护。
主要作用包括刷机、备份、救砖
TWRP拥有包括支持刷入ROM刷机包、Root设备、修改系统、清空分区、恢复出厂、挂载分区、备份还原分区等常见第三方recovery功能,更支持文件管理、挂载MTP、直接刷入img镜像、adb sideload、挂载U盘以及OpenRecoveryScript等强大功能,TWRP Recovery自从开发开始,就秒杀CWM(clockworkmod)一大条街,现已隶属于Omnirom默认recovery,成了主流Android机型必备第三方recovery神器
官网
新标签页 (twrp.me)
修改中文界面
功能概览
安装模式
安装刷机包(刷ROM、刷机、卡刷、img镜像)以及第三方如Magisk(面具)等软件
注意事项
1.TWRP Recovery 仅能够识别标准格式的ROM,即标准压缩算法的zip格式刷机包。由于Motorola发布的官方固件同样采用zip进行压缩,但它并不是刷机包,不能用TWRP来刷。
2.对于不同的安卓版本底层的固件并不相同,互刷保持同版本,否则容易成黑砖(9008底层刷机模式可救砖且可无视基带丢失)
3.刷入后执行三清模式,达到最好的兼容性
判断是否为可刷入的ZIP(不一定是刷机包)
判断一个zip包是不是能够用Recovery来刷入,我们只需要在电脑上,用压缩软件打开这个*.zip,只要里边有META-INF这个文件夹,那它就是刷机包,可以用recovery来刷入。
刷机包结构如下:
1.内部存储目录/OTG安装刷机包
2.ADB Sideload(侧载) 刷机 = ADB 线刷模式
提前将数据线与手机连接(检查驱动完整),通过ADB命令开启Sideload模式,数据包上传后自动执行刷机,刷机完成后一般情况下重启即可
adb sideload xxx.zip //可手动拖入刷机包使用数据线将数据包进行上传到手机
注意:
1.传输过程中可能卡在47%是正常现象稍等几分钟,部分其他第三方recovery 会提示是否重启,选择不重启即可
2.假如提示红字“失败”[failed],请导出日志到SD卡仔细研究报错内容。而不要单纯的看屏幕上面的报错显示,那个是无法判断错误原因的!
清除模式
恢复出厂设置(即所谓的双清、双WIPE)
1.单清=Davilk / ART Cache(虚拟机缓存)/Data(仅限Cache分区在data目录下,这种ROM很少出现)
2.双清=Davilk / ART Cache(虚拟机缓存)/Data + Cache
3.三清=Davilk / ART Cache(虚拟机缓存) + Cache + Data(清除Data会顺带 Davilk / ART Cache,所以也可以说双清)
4.四清=Davilk / ART Cache(虚拟机缓存)+ Cache+Data+System/(+vendor)(该方式谨慎使用,属于清除底层固件,如不刷入正确的固件将直接导致黑砖,当然 9008模式可救砖)
5.五清=Davilk / ART Cache(虚拟机缓存)+Data、Cache、system(+vendor)、内置存储(清理SD卡和USB-OTG的内容一般用不上)
注:
1.恢复出厂设置
会擦除data、cache、dalvik,不包含内部存储(内部存储可以理解为SD卡)和锁屏文件(user/lock)
2.擦除Data
只会清除data分区包含安装的APP及数据,但不清除SD卡(即手机文件管理器目录=/data/media/0/目录的数据)
WIPE高级菜单
Cache (缓存)
Metadata (加密配置等)
USB-OTG (外置USBU盘等)
System (当前所使用的操作系统)
Davilk / ART Cache(虚拟机缓存)
Data 用户数据分区(不包含内置存储)
Internalstorge (内置存储) 其实就是/data/media/0/目录
场景使用
格式化Data
在刷入系统包后卡在开机第一屏或第二屏,进行格式化Data可能有效解决。
注意:格式化data会将data分区格式化,包括清除内部存储加密(以上进入TWRP界面的锁屏密码属于加密后)清除(图片、视频、多媒体,备份文件),data数据(app和app的数据)。
拓展知识
Dalvik/ART Cache
又称“Dalvik/ART”这其实是一个属于cache分区的下级文件夹,存放的也是关于手机使用缓存的文件,因为某些操作需要而单独列出以方便清理。其本质是存放了CPU和应用软件之间进行交互的桥梁——虚拟机的缓存(在不同版本的Android系统上搭载了不同的虚拟机,分别为Dalvik和ART)。清除Dalvik/ART Cache会清除虚拟机缓存(不会清除虚拟机),可以解决一些应用程序的function(功能和结构化)问题(这里涉及到Android和IOS在CPU上运行的原理问题,在这里不过多赘述),同时不会影响用户数据和应用数据,在某些应用经常性崩溃时也可以尝试清理。(据说清除该分区可以加快系统运行速度,但是作者试过以后发现无感,这可能因人而异或存在“玄学”)
Cache
不同于Android内的cache分区,这里的cache包含的是Android内的cache分区除了Dalvik/ART以外的数据,也都是一些应用程序产生的缓存数据,清除该分区同样可以解决一些应用程序问题,不会影响用户数据和应用数据。(据说也有一些玄学效果)
Data
不同于Android内的data分区,这里的Data指的是应用数据,不包括手机内的文档、图片、聊天记录和文件等使用中产生的数据。清除该分区会删除手机中的应用程序数据,如果再次在应用商店内下载,则仍可以恢复应用数据。一般用于格式化手机。
内置储存
又称“Internal Storage”,也存储于data分区下,包括使用应用程序而产生的数据、文档、音乐、图片等(也包括从电脑、U盘或SD卡中拷贝进入手机的数据文件),清除后数据不可恢复。一般也用于格式化手机。
SD卡
某些低内存手机(如Redmi 9A)还保留着SD卡槽(一般为TF卡槽)用于拓展存储空间,而清理SD卡即电影工业中常见的“格卡”操作,将清除SD卡中的全部数据,不可恢复。一般用于在手机上格式化SD卡。
USB-OTG
全称“USB On-The-Go”,本义是一种对于USB2.0协议的补充标准,在这里指的是清除与手机通过USB2.0进行连接(一般通过Type-C或Micro-c接口)的外接储存设备的所有数据。
注意USB-OTG和SD卡分区的区别在于二者与外置存储设备的连接方式。但是清除数据的方式很多,在电脑上更方便操作。
System和Vendor
普通的手机系统架构将vender分区置于system分区下一级,这里的清除system即清除系统文件(system)和底层系统应用(vendor)。清除system和vendor后手机极易成砖,无法正常开机,需要通过电脑(或储存卡、外接USB-OTG)刷入一个完整的系统(system+vendor)才能解决。
Metadata
Android 10引入,它用于存储关键的系统信息和元数据。 这些信息包括文件系统的布局、磁盘块的使用情况、文件权限等配置且该分区负责解密用户数据,如果设备被加密,则需要使用该分区解密userdata,该分区清除也能引发变砖。
备份模式
勾选指定的分区可备份形成压缩包以便于在系统故障时进行还原
data分区 用户安装的应用程序、数据、设置和个人文件都存储在这个分区。包括用户应用的数据、缓存以及Dalvik / ART虚拟机的缓存等。不包含存储,即手机文件管理器目录的文件=/data/media/0/目录的数据)也就是自己存放的文件 必备(非高级用户)
boot分区 包含启动内核非常重要 必备(非高级用户)
persist分区 保存FRP(factory reset protcect)功能用到帐号、密码等受保护的信息,避免在恢复出厂设置后被清空
firmware分区 底层文件,也包含基带文件,就是我们常说的底包或者固件 必备(非高级用户)
dtbo分区 即设备树块覆盖,也就类似目录结构专属的分区表 必备(非高级用户)
recovery分区 即恢复模式的镜像 必备(非高级用户)
EFS分区 包括IMEI串号、无线网卡,MAC地址以及网络设置等重要信息 必备(非高级用户)
oem分区 是为全球定制功能而增设的一个分区,里面增加了对应不同国家的各种配置参数,如某些功能开关,有些区域要求打开,其它的则要求关闭
systeminfo是专门为了添加system分区检查而设立的分区,system分区检查是指检查system分区的资源是否被更改,比如apk被删减或者某些权限被更改,目的是为了防止system被更改导致手机被监控。而systeminfo分区存放一个check.bin文件,此文件里面存储所有system文件和其对应的sha1值。
Vendor分区 包括供应商特定的驱动程序、固件和其他二进制文件。通常由设备制造商提供。必备(非高级用户)
cache分区 存储临时文件和系统更新缓存的地方
Super分区是Android系统中的特殊分区,它包含了存储设备的整个分区表。分区表描述了存储设备上各个分区的位置、大小和文件系统类型。在设备启动时,Super分区会被加载到内存中,并用于挂载各个分区。这样,系统就能够正确地访问和使用存储设备上的分区。
而Metadata分区则通常是只读的,并且在设备启动时被加载到内存中。这个分区中的元数据包含了文件系统的布局和磁盘块使用情况。这些信息对于系统在文件读写时进行快速定位和访问至关重要,可以有效提高文件系统的性能。 必备(非高级用户)
metadata分区 可能包含元数据文件,如应用程序权限信息等。必备(非高级用户)
vbmeta和vbmeta_system_img分区 即验证启动(Verified Boot)是Android一个重要的安全功能,主要是为了访问启动镜像被篡改,提高系统的抗攻击能力,简单描述做法就是在启动过程中增加一条校验链,即 ROM code 校验 BootLoader,确保 BootLoader 的合法性和完整性,BootLoader 则需要校验 boot image,确保 Kernel 启动所需 image 的合法性和完整性,而 Kernel 则负责校验 System 分区和 vendor 分区。 必备(非高级用户)
场景使用
备份内部存储空间(sdcard=/data/media/) 目录的文件
采用重命名文件夹绕过限制
1.打开文件管理器,进入路径/data/media,点击右下角小对勾图标,在将media文件夹名称重命名为mediabak。
2.重新进入备份界面,点击刷新按钮,数据分区的大小增加了(数据+内部存储),进行备份。
注意事项
1.请在备份后重命名为media否则无法打开
2.重命名后不要重启手机,否则data加密无法通过,可恢复名字修复
3.请不要在文件夹名称为mediabak时尝试擦除数据。
4.如果你想恢复该备份,请擦除所有数据、缓存、内部存储或者直接格式化data并尝试恢复,恢复完成后.将重命名为media并重新启动.
恢复
将备份的文件进行恢复备份分区
挂载
将指定分区或者默认内部存储(sdcard)挂载到目标PC等设备
1.MTP 模式(传输文件)
MTP的全称是Media Transfer Protocol(媒体传输协议),它是微软公司提出的一套媒体文件传输协议。传输文件(MTP),通过电脑控制与传输手机上的文件,能够复制、剪切、删除手机上面的文件。MTP模式挂载到PC电脑上,sdcard(内部存储)的控制权其实还是属于手机。只不过智能手机通过MTP协议向PC电脑机构建了一个虚拟文件系统。PC电脑机操作其中的文件时,都会通过标准MTP协议向智能手机发起请求。MTP的好处还有很多,例如它可判断PC机拷贝的媒体文件是否受目标手机支持,甚至可以触发对应的转码程序将其转换成手机支持的格式。TWRP默认系统文件是进行了加密,使用MTP模式挂载Sytem分区,由于被加密打开文件目录会显示加密的乱码。清除data 即可访问。
MTP默认挂载 data、metadata 分区的Internal Sdcard(内部存储)其实就是/data/media/目录,特点是可控制挂载其他目录。2.USB大容量存储(USB Mass Storage,简称UMS)
UMS模式下,PC操作存储设备的粒度是设备块(FAT block),而非文件系统。当Android手机通过UMS将sdcard挂载到PC后,PC就拥有对sdcard的绝对控制权。最新的Android把MTP功能集成在MediaProvider 中在PC机电脑操作(例如拷贝或删除等)媒体文件时,媒体数据都会及时更新到媒体数据库中。
USB大容量存储默认挂载 data、metadata 分区的Internal Sdcard(内部存储)其实就是/data/media/0/目录,特点是不能控制挂载其他目录。
场景使用
MTP电脑不显示内部存储
因为在格式化data后必须重启到系统,内部存储才可以打开
设置
可配置关闭刷机包签名校验等
高级
对设备执行高级自定操作,可进行Sideload线刷和终端命令执行以及文件管理(移动、复制、删除、打开终端、重命名、chmod设置文件权限)
重载主题 就是重新加载twrp界面
修复context(上下文) 就是修复selinux配置
安装REC ramdisk 就是刷入twrp镜像文件
分区SD卡 对内置存储sdcard进行格式化
安装TWRP? 检查更新安装最新官方应用
取消Super devices映射 取消Super分区设备的挂载
修改的第三方版本包括
Root系统、清除Root、取消强制加密、防止覆盖TWRP、
关闭AVB2.0校验、清除电池信息、恢复官方Rec 等增强功能
chmod权限指南
场景使用
1.关闭 AVB 2.0校验
部分版本的系统当检测到系统被修改过时,可能无限重启、无限rec、无限fastboot、显示的什么系统已损坏之类的界面
2.官改系统修复
利用ADB工具,将官方的vbmeta.img和vbmeta_system.img,用此命令刷入到vbmeta分区和vbmeta_system分区即可:
fastboot flash vbmeta vbmeta.img --disable-verity --disable-verification
fastboot flash vbmeta_system vbmeta_system.img --disable-verity --disable-verification
3.刷机后修复
1.不关闭AVB2.0校验刷入当前刷机包中的vbmeta.img和vbmeta_system.img,重启可进入桌面
2.关闭AVB2.0校验刷入当前刷机包中的vbmeta.img和vbmeta_system.img,重启可进入桌面(刷写代码后面加上--disable-verity --disable-verification
3.进入TWRP 中,根据自己的动手能力,将userdata分区挂载到/data,然后再卸载;再将metadata分区挂载到/metadata,然后再卸载,重启手机可进入桌面
4.部分第三方TWRP带有关闭校验的文件,执行即可
重启
系统、关机、
重启到REC(recovery)、
重启到bl(bootloader)、
重启到edl(就是所谓的高通9008救砖模式)、
重启到A槽、
重启到B槽
其他
TWRP解密失败
TWRP安卓版本(这里Android 11)不通用,部分未内置解密模块所以输入多次锁屏密码仍然失败,就是TWRP不支持解密且版本刷错,使用我这里的版本即可。这里检测的是data目录加密后是否被修改,如果/data/media=内部存储被修改或者重命名则也会导致解密失败。
解密成功则正常进入主界面
注意:未解密不影响其他功能使用,点击返回即可进入主界面,未解密状态无法操作Data目录
玩机有风险,备份数据优先!——————————————————————————————
参考博客
twrp精讲 - GKLBB - 博客园 (cnblogs.com)
Android 10 metadata 分区说明 | TJ的技术博客 (tjtech.me)
Android 分区 - 老王系统屋 - SegmentFault 思否
深入理解Android系统中的Super分区与Metadata解析 (baidu.com)
【小白搞机入门】第五期-清理分区类型、作用及副作用(双清、三清、四清、五清、格式化Data分区) - 知乎 (zhihu.com)
【TWRP】TWRP Recovery 使用教程_MOTO X 论坛_爱黑武论坛 (ihei5.com)
小米澎湃主题资源分享
主题图片展示
通知栏横条清除-刻晴主题外部分享官方版下载丨最新版下载丨绿色版下载丨APP下载-123云盘
该方案解决了你的问题请记得为我点赞,这就是我创作下去的动力~
欢迎关注我的Github💕:heartyang520 (Heart Yang) · GitHub