TWRP 使用帮助 第三方Recovery

news2024/11/25 21:21:58

简介

       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

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2092763.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C++判断语句(基础速通)ac-wing

倍数 #include <iostream> using namespace std; int a, b; int main() {cin >> a >> b;if (a % b 0 || b % a 0) cout << "Sao Multiplos";else cout << "Nao sao Multiplos";return 0; }零食 #include <iostream>…

通用后台管理系统实战演示(Vue3 + element-plus)汇总篇一

天行健&#xff0c;君子以自强不息&#xff1b;地势坤&#xff0c;君子以厚德载物。 每个人都有惰性&#xff0c;但不断学习是好好生活的根本&#xff0c;共勉&#xff01; 文章均为学习整理笔记&#xff0c;分享记录为主&#xff0c;如有错误请指正&#xff0c;共同学习进步。…

菜鸟笔记-001 如何用JavaScript脚本在文字中实现向左或向右插入空格

这是一个网友在线上问我的一个问题&#xff1a; 如何用JavaScript脚本在文字中实现向左或向右插入空格 下图是在文字左边插入了1/2个空格的效果&#xff1a; 那么如何用javascript 实现向左向右插入空格&#xff1f; 其实这个功能&#xff0c;我在实际工作确实很少碰到&#xf…

【王树森】RNN模型与NLP应用(5/9):多层RNN、双向RNN、预训练(个人向笔记)

Stacked RNN&#xff08;多层RNN&#xff09; 1. 原理 多个全连接层可以堆叠&#xff0c;多个卷积层也可以堆叠。同理&#xff1a;RNN也可以堆叠形成多层RNN。 如下图所示&#xff1a;对于每一个时刻的输出 h t h_t ht​&#xff0c;它既会作为下一个时刻的输入&#xff0c;…

【C++ 第十八章】C++11 新增语法(1)

1. C11简介 在2003年C标准委员会曾经提交了一份技术勘误表(简称TC1)&#xff0c;使得C03这个名字已经取代了C98称为C11之前的最新C标准名称。不过由于C03(TC1)主要是对C98标准中的漏洞进行修复&#xff0c;语言的核心部分则没有改动&#xff0c;因此人们习惯性的把两个标准合并…

2016年系统架构师案例分析试题五

目录 案例 【题目】 【问题 1】(10 分) 【问题 2】(6 分) 【问题 3】(9 分) 【答案】 【问题 1】解析 【问题 2】解析 【问题 3】解析 相关推荐 案例 阅读以下关于 Scrum 敏捷开发过程的叙述&#xff0c;在答题纸上回答问题 1 至问题 3。 【题目】 Scrum 是一个增量…

C语言典型例题57

《C程序设计教程&#xff08;第四版&#xff09;——谭浩强》 例题4.9 判断整数是否为素数 代码&#xff1a; //《C程序设计教程&#xff08;第四版&#xff09;——谭浩强》 //例题4.9 判断整数是否为素数//【数学知识】素数&#xff1a;一个大于1的自然数&#xff0c;如果只…

我从obsidian 转入 语雀 了

遇到的问题倒是不多&#xff0c;这里记录一下&#xff1a; 1. wiki链接转markdown 用vscode打开ob工作区文件夹&#xff0c;利用正则表达式&#xff0c;替换链接 \[\[(.*?)\]\][$1](../_resources/$1) 我的图片都存在_resources文件夹里 其中ob的json&#xff0c;还有插件的…

JavaEE:多线程代码案例(定时器)

文章目录 定时器介绍Java标准库中的定时器定时器的实现 定时器 介绍 除了之前说过的单例模式,阻塞队列,线程池以外,定时器也是我们日常开发中常用的代码~ 定时器相当于"闹钟".在现实生活中,当闹钟响时,我们就需要去完成一些事情. 同理,在代码中,也经常需要"闹…

力扣406-根据身高重建队列(java详细题解)

题目链接&#xff1a;406. 根据身高重建队列 - 力扣&#xff08;LeetCode&#xff09; 前情提要&#xff1a; 因为本人最近都来刷贪心类的题目所以该题就默认用贪心方法来做。 贪心方法&#xff1a;局部最优推出全局最优。 如果一个题你觉得可以用局部最优推出全局最优&…

【自用16.】C++类

类的构成 类的设计 代码demo #include <iostream> #include <Windows.h> #include <string>using namespace std;// 定义一个“人类” class Human { public: //公有的&#xff0c;对外的void eat(); //方法&#xff0c; “成员函数”void sleep();void …

从零开始搭建本地安全 AI 大模型攻防知识库

本文将系统分享从零开始搭建本地大模型问答知识库过程中所遇到的问题及其解决方案。 1 概述 目前&#xff0c;搭建大语言问答知识库能采用的方法主要包括微调模型、再次训练模型以及增强检索生成&#xff08;RAG&#xff0c;Retrieval Augmented Generation&#xff09;三种方…

51单片机-定时器介绍

时间&#xff1a;2024.8.31 作者&#xff1a;Whappy 目的&#xff1a;手撕51 代码&#xff1a; 现象&#xff1a;

【fastapi】fastapi的hello world

新建这样的目录结构 main.py的代码如下 from fastapi import FastAPI from fastapi.templating import Jinja2Templatesapp FastAPI()# 初始化 Jinja2 模板引擎 templates Jinja2Templates(directory"templates")app.get("/") async def home():contex…

AI编码新时代:免费人工智能助手Blackbox AI

前言&#xff1a; 在当今快速发展的科技时代&#xff0c;人工智能已经渗透到我们生活的方方面面&#xff0c;从智能手机的语音助手到智能家居控制系统&#xff0c;再到在线客服和个性化推荐算法&#xff0c;AI智能工具正变得越来越普遍。它们以其高效、智能和用户友好的特性&am…

已成功入职小米大模型岗!!大模型面试其实挺水的,hr听到这些直接过

小米大模型面试180题 1、目前比较受欢迎的开源大模型有哪些&#xff1f; GPT系列&#xff1a;由OpenAl开发的生成式预训练模型&#xff0c;如 GPT-3。 BERT系列&#xff1a;由Google开发的转换式预训练模型&#xff0c;如BERT、RoBERTa等。 T5系列&#xff1a;由Google开发的基…

Docker 实战加速器(紧急情况!镜像库全面失效,一招解决Docker无法下载)

现象: Docker 加速器原理 Docker 镜像加速器可以帮助你更快地从 Docker Hub 或其他镜像仓库下载镜像,特别是在网络环境较差或访问 Docker Hub 较慢的情况下。常见的加速器提供商包括阿里云、网易云等。 Docker 加速器原理 Docker 镜像加速器通过在本地设置一个代理服务器,…

【ubuntu笔记】Ubuntu下SourceInsight 4.x中文乱码问题

Options->Preferences->Files&#xff0c;最底部有个Default Encoding选项&#xff0c;选择UTF-8 Options->Preferences->Syntax Decorations->File Types->Screen Font&#xff0c;选择一个可以显示中文的字体&#xff0c;例如"文泉驿等宽微米黑"…

wsl下将Ubuntu从c盘移动到其他盘

一、概述 因为自己的C盘内存不足&#xff0c;加上之后需要在Ubuntu下面下载许多的内容和东西&#xff0c;需要将其移动到d盘上面&#xff0c;这样可以拥有更大的空间。这里记载了一下自己的操作过程。 二、具体步骤 &#xff08;一&#xff09;过程 1.查看当前系统中wsl分发版…

在uni-app中使用SQLite

目录 1、引入sqlite模块 2、sqlite文件结构 3、初始化文件index.js 4、打开数据库 5、查询数据 6、可视化测试 SQLite是一个进程内的库&#xff0c;实现了自给自足的、无服务器的、零配置的、事务性的 SQL 数据库引擎。它是一个零配置的数据库&#xff0c;这意味着与其他…