华为进入recovery模式式怎么进入

后使用快捷导航没有帐号?
平板/笔记本
华为荣耀6怎么进入recovery模式
&渐入佳境&
来自:浏览器
如题,求解……我自己按住音量加和电源键,手机自己开机了。按住音量加和音量减电源键,进入了fastboot模式,那怎么进去recovery模式呢?
width:100%">
&渐入佳境&
来自:浏览器
音量减和关机键
width:100%">
&自成一派&
来自:浏览器
同时按电源键和音量上键会进入recovery模式
width:100%">
&已臻大成&
来自:浏览器
楼主您好,关机状态下 长按音量上键和电源键 直到出现recovery界面,如果您刷过第三方recovery请刷回官方rec。
width:100%">
&自成一派&
来自:浏览器
要关机状态下按
width:100%">
&炉火纯青&
来自:浏览器
关机之后同时按电源键和音量上键会进入recovery模式
width:100%">
&自成一派&
来自:浏览器
关机 同时按电源键和音量上键进入
width:100%">
&独步江湖&
来自:浏览器
时间要按够。
width:100%">
&独步江湖&
来自:浏览器
关机状态下 长按音量上键和电源键即可。
width:100%">
&渐入佳境&
来自:浏览器
濡沫丶彼岸花落 发表于
音量减和关机键
width:100%">
花粉特种部队荣耀勋章
好基友勋章
花粉好机友,注册时间大于99天
初次拍人微距V8“美食”模式下的袁家村小吃普莫雍措高原上的疯狂跳跃雪.梅2017年游山玩水
花粉客户端
Make it Possible
Make your device special
华为云服务
Huawei cloud services
音乐播放器
Huawei Music
Huawei Vmall
没有最新动态
关注花粉俱乐部
联系我们:
|关注花粉俱乐部:
Copyright (C)
华为软件技术有限公司 版权所有 保留一切权利s三星s4如何进入recovery界面?两种s4进入recovery模式的方法
作者:佚名
字体:[ ] 来源:互联网 时间:10-19 10:11:03
我们想要清除手机数据并恢复出厂设置怎么办呢就要进入recovery,但是怎么进入呢今天小编就为大家介绍三星s4怎么进入recovery模式的方法,下面我们一起去看看吧
  在Recovery模式下我们可以清除手机数据并且恢复出厂设置,但是很多机友不知道recovery模式怎么进入,接下来就为大家介绍三星s4怎么进入recovery模式的方法。&
  关机状态,不连接数据线,同时按住&音量下&+HOME+开机键不放,直到出现感叹号的界面,松开所有按键即可进入。&
  也有可能会出现无法进入的情况,这时候就需要借用外部软件进行操作,方法如下:电脑上下载&刷机大师、卓大师&等软件,安装好后打开,找到 工具 点击进去,你就可以看到三行各种功能了,选择进入recovery模式。
 喜欢的话就分享给你的朋友,让更多的人知道这个方法,谢谢!
大家感兴趣的内容
12345678910
最近更新的内容手动进入进入Recovery模式方法_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
手动进入进入Recovery模式方法
|0|0|文档简介
硬件维修工程师|
总评分3.9|
浏览量13396
&&手动进入进入Recovery模式方法
阅读已结束,如果下载本文需要使用1下载券
想免费下载本文?
定制HR最喜欢的简历
下载文档到电脑,查找使用更方便
还剩6页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢热门搜索:
您的位置:
→ 手机进入recovery/fastboot模式组合键太麻烦怎么办
类型:大小:评分:平台:标签:
  现在智能手机型号太多,进入刷机模式的组合键有的也不一样,但是也大同小异的,有时会记不清应该使用哪些组合键,现在来教大家通过其他的方法来更快的进入刷机模式,使用这些方法的前提是要安装对应的驱动程序啦,手机开启调式并且电脑一定要识别手机  第一种方法:  1、通过adb命令来进入刷机模式。在电脑上安装adb工具包,安装成功后,手机连接电脑,进入运行--输入adb devices,出现设备的序列号,说明adb 命令可以正常使用啦  2、进入各模式的命令  adb reboot bootloader #这个是重启到bootloader界面 默认是fastboot  adb reboot recovery #进入recovery模式  另一个方法是借用刷机精灵家的实用工具啦,手机要开启调试并正确安装手机驱动程序  以上就是分享给大家的小技巧!! &小编推荐: & &<a href="/tutorial/95431.html" target="_blank" style="color:#00b0f0;
网名(您的评论需要经过审核才能显示)
] 楼取消回复5381人阅读
Android&Recovery&Theory
Android&Recovery:功能简介
Android支持模式。在某些操作之后,系统会自动重启并进入到模式,用户按组合键开机(),也可进入模式。该模式提供如下功能:
1、擦除用户数据
恢复系统到出厂模式,即擦除用户数据和缓存数据。
2、系统升级
系统升级的概念比较广,包括系统文件的升级、恢复损害的系统数据、的升级,以及应用软件的维护,甚至影音文件的下载。系统升级需要使用特定的升级包,使用升级包,其初衷在于可以发挥广域无线通信链路的优势,如。
升级方式有两种:
1、在线升级
利用无线通信网络,系统自动连接更新源,查看有无升级包、下载升级包,然后给出提示,发起升级过程,如下左图。感觉有点类&#20284;的系统更新,只不过升级的时候,系统会重启系统进入模式。另外的升级内容很广泛,比如可以通过这种方式安装应用程序。已经提供了这种服务,如升级服务器以无线方式向终端发送平台升级包,传输媒介可以是网络、或。
2、离线升级
可以将下载到的包放在卡里,通过离线方式升级,如下右图所示。这种升级方式比较灵活,不用花费无线流量。这样一来,使用自己制作的进行升级也成为可能。事实上,就是用这种方式进行刷机的,比如更新以支持某个频段。
Android:分区结构
在分析工作流程之前,我们先了解一下文件系统的分区结构。下表是中提得到的结构:
Partition&name
Mount&point
File&system
g_mtd_device
g_mtd_device
g_mtd_device
g_mtd_device
g_package_file
g_mtd_device
/dev/block/mmcblk0p1
g_mtd_device
Root&file&system&layout
模拟器环境下里的输出:
/dev/block/mtdblock0&&&&&/system&&&&&&&&&&&&&&&&&&&&&&&yaffs2&&&&&&ro&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&0&&&&&0
/dev/block/mtdblock1&&&&&/data&&&&&&&&&&&&&&&&&&&&&&&&&&&&yaffs2&&&&&&rw,nosuid,nodev&&&&&&&&&&&&0&&&&&0
/dev/block/mtdblock2&&&&&/cache&&&&&&&&&&&&&&&&&&&&&&&&&yaffs2&&&&&&rw,nosuid,nodev&&&&&&&&&&&&0&&&&&0
综上,中有如下分区:
BOOT:&&&&&&&&&&&&&&&&,
MISC:&&&&&&&&&&&&&&&&&
RECOVERY:&&&&&&&,
SYSTEM:&&&&&&&&&&&&
DATA:&&&&&&&&&&&&&&&&&
CACHE:&&&&&&&&&&&&&&
有几点说明:
1、一般来讲,主板上还有用于存储的可擦写存储设备。若具备通信能力,还要存储,这两部分的更新由协助完成,没有代码证明一定存在上。
2、分区无文件系统,存放二进制。
3、中有的备份:,中有如下代码:
service&flash_recovery&/system/bin/flash_image&recovery&system/recovery.img
每次启动,程序,会检查分区中的,如果与备份的不符,就会把备份写到分区。这样做是为了应对分区遭到破坏。当然,我们也可以更换这个备份,这样也会将其写到。事实上,处于安全及版权考虑,是有签名的(其实就是包),对签名有要求,所以只能进行被允许的升级,此时的破解思路就是更换一个不检查签名的程序,方法就是设法更换。
Android&Recovery:三个部分、两个接口
Recovery的工作需要整个软件平台的配合,从架构角度看,有三个部分:
1、:用启动的系统,的正常工作模式。
2、:用启动的系统,主要是运行程序。
3、:除了加载、启动系统,还会通过读取的分区获得来自和的消息,并以此决定做何种操作。
在的工作流程中,上述三个实体的通信必不可少。通信的接口有以下两个:
l&&&&&&&&&CACHE分区中的三个文件:
Recovery通过里的文件与通信,有三个文件:
1&/cache/recovery/command
Main&system传给的命令行,每一行有一个命令,支持以下几种:
–send_intent=anystring&&&&&&&&&&&&&&&write&the&text&out&to&recovery/intent
–update_package=root:path&&&&&&&&&verify&install&an&OTA&package&file
–wipe_data&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&erase&user&data&(and&cache),&then&reboot
–wipe_cache&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&wipe&cache&(but&not&user&data),&then&reboot
2&/cache/recovery/log
Recovery的输出,在运行过程中,及会重定位到文件,退出之前会将其转储到中,也就是分区的。
3&/cache/recovery/intent
Recovery传给的信息
l&&&&&&&&&BCB&(bootloader&control&block)
struct&bootloader_message&{
char&&command[32];
char&&status[32];
char&&recovery[1024];
BCB是与的通信接口,也是与的通信接口,存储在中的分区,占用三个,各成员意义如下:
当想要重启进入模式,或升级时,会更新这个域。当更新完毕,为了启动后进入做最终的清除,还会修改它。
update-radio或完成后,会写入相应的信息,一般是一些状态或执行结果。
recovery:
仅被写入,用于向发送消息,必须以开头,否则这个域的所有内容会被忽略。这一项的内容中以后的部分,是支持的命令,可以认为这是在操作过程中,对命令操作的备份。也会更新这个域的信息,执行某操作前把该操作命令写到域,并更新域,操作完成后再清空域及域,这样在进入之前,就能确保操作被执行。
如图所示,、与通过上述接口通信,通信逻辑依不同的目的而不同,在后面介绍具体工作流程中还会详细介绍。
从进入的方法
我们提到,从进入到,要修改分区的数据并重启,从而告诉是用还是用启动。
init.c里的函数中有如下代码:
__reboot(LINUX_REBOOT_MAGIC1,&LINUX_REBOOT_MAGIC2,
LINUX_REBOOT_CMD_RESTART2,&“recovery”);
一些关键的进程运行异常,会重启进入模式,这里用函数进入。跟踪这个函数,由系统调用处理函数,到,最终调用使用体系结构相关的代码完成重启。
Android中没有给出如何处理重启。不过可以断定,在重启之前会向中写入信息,以告知如何启动,具体操作是这样的:
向域中写入此操作必做
向域写入此操作也可不做
这些操作很可能在中完成,因为这一部分与体系结构无关,如果要实现完整的,这部分工作是必须做的。
Bootloader得到进入模式的指示,用启动,进入模式,的内容比的要短的多,最重要的是把程序作为服务启动:
service&recovery&/sbin/recovery
Android&Recovery:总体流程
根据的.rc,启动完成后,启动服务,这是一个程序,入口在中,函数结构清晰,主要流程如图:
l&&&&&&&&&get_args:首先调用获取参数,主要流程如下:
get_args不仅传回获取到的参数,还会将其写入,这样,一旦升级或擦除数据的过程中出现错误,重启之后依然进入并做相同操作。
l&&&&&&&&&register_update_command,这是为做准备工作,负责注册用的,正是这些组成了用到的:
先用()初始化,然后多次调用及注册及。相关的源代码都在目录中,语法的构建及解析使用已经包含的()。
这里的有个,见下表:
Command&Name
Argument&Type
Command&Handler
CMD_ARGS_BOOLEAN
cmd_assert
CMD_ARGS_WORDS
cmd_delete
delete_recursive
CMD_ARGS_WORDS
cmd_delete
CMD_ARGS_WORDS
cmd_copy_dir
run_program
CMD_ARGS_WORDS
cmd_run_program
CMD_ARGS_WORDS
cmd_set_perm
set_perm_recursive
CMD_ARGS_WORDS
cmd_set_perm
show_progress
CMD_ARGS_WORDS
cmd_show_progress
CMD_ARGS_WORDS
cmd_symlink
CMD_ARGS_WORDS
cmd_format
write_radio_image
CMD_ARGS_WORDS
cmd_write_firmware_image
write_hboot_image
CMD_ARGS_WORDS
cmd_write_firmware_image
write_raw_image
CMD_ARGS_WORDS
cmd_write_raw_image
CMD_ARGS_WORDS
CMD_ARGS_WORDS
CMD_ARGS_BOOLEAN表示该后面接的参数是&#20540;,即或,解析脚本时计算参数的逻辑&#20540;,然后传给,目前只有这个用此类型的参数。
CMD_ARGS_WORDS表示该后面接的参数是字符,形如程序启动时加的参数,解析脚本时把参数直接传递给,比如,会传给。
Function&Name
Function&Handler
compatible_with
fn_compatible_with
update_forced
fn_update_forced
fn_get_mark
fn_hash_dir
fn_matches
fn_getprop
file_contains
fn_file_contains
function与用同样的处理框架,只不过会产生返回&#20540;,目前见到的用法一般都是与一起使用,例如下面脚本:
assert&&getprop(“ro.bootloader”)&==&“0.95.0000″
先用从中取得版本,然后再将比较后的&#20540;传给。
l&&&&&&&&&prompt_and_wait:等待用户输入
首先打印文本信息。然后执行,这个函数后面介绍。然后进入等待用户输入,按下不同的组合键会有不同的动作。对于键盘输入,先到达函数,在那里处理两种组合键,其余才交给处理:
Home&&#43;&Back
reboot&system&now
ui_wait_key
Alt&&#43;&S
apply&sdcard:update.zip
ui_wait_key
Alt&&#43;&W
wipe&data/factory&reset
ui_wait_key
Alt&&#43;&L
toggle&log&text&display
input_thread
Green&&#43;&Menu&&#43;&Red
reboot&immediately
input_thread
Home&&#43;&Back:退出。
Alt&&#43;&W或,执行完或后,若没有激活,那么,就会退出,否则继续等待输入。
Green&&#43;&Menu&&#43;&Red:立刻重启,一般这样还会进入,因为还没有来得及清空。
l&&&&&&&&&finish_recovery:离开进入的必经之路,流程如下:
intent内容作为参数传进来,如果有需要告知,将其写入;
将所有信息转储到文件,以供读取;
清除,也就是告知启动进入;
以上是整体流程中的几个函数,关于安装升级包、升级等操作将在具体流程中介绍。
Android&Recovery:&Factory&data&reset流程
如果系统不稳定,可以尝试恢复出厂设置,该操作会擦除分区及分区,有两种恢复方式,下面分别介绍:
l&&&&&&&&&通过程序发起:
屏幕显示如上图,结合着下面的通信图,列出工作流程:
1、在应用程序中选择
3、重启进入模式(方法:修改)
4、向写入和
5、擦除分区,里面是用户数据,擦除分区
7、重启,回到
第四个步骤,向写入和,这是为了保证后面几个步骤的完整执行。如,在擦除分区或分区过程中,如果发生了重启、关机等操作,导致没有擦除成功,那么再次用常规方式开机后,会依据的指示,引导进入,并重新擦除这两个分区。擦完分区与分区后,调用,做返回前最后的工作,最终要的是擦除,即分区。此后,用常规方式重新开机,系统会进入。
阅读的代码,发现通过调用的启动这个过程,然而在中并没有找到的实现,相关代码需要在产品化的过程中加入。从的注释可以了解到这个函数的作用:
/**&Reboot&into&the&recovery&system&and&wipe&all&user&data.&*/
代码位置:
/packages/apps/Settings/src/com/android/settings/MasterClear.java
/frameworks/base/core/java/android/os/ICheckinService.aidl
l&&&&&&&&&通过组合键进入,再按启动
过程比较简单,而且与上一种方式类&#20284;,结合总体流程,步骤如下:
1、捕获按键。
2、擦除分区、擦除分区。
3a、若激活了显示(:),调用函数重启,回到。
3b、若没有激活显示,继续接收按键,可用重启回到。
Android&Recovery&Update:流程
l&&&&&&&&&update.zip
update操作需要升级包,该升级包是文件名是,但观察包内结构会发现其实就是包,包是具有特定目录和文件结构的压缩包,因此可以作为包解开:
MANIFEST.MF:这个文件定义了与包相关数据。
XXX.SF:这是文件的签名文件,占位符标识签名者,如。
XXX.RSA:与签名文件相关联的签名程序块文件,它存储了用于签名文件的公共签名。
在目录下有文件,内容就是要做的操作,也就是前面提到过的序列。
出于安全性及版本控制的考虑,包要求必须有完整性以及合法性签名。可以看出这是确保安全的策略。相关内容参见,这里就不再详细介绍。
l&&&&&&&&&Main&system部分
通过系统下载升级包并启动升级操作,需要上层应用的支持,它是程序,代码位置。大致流程:
系统启动后,如果存在网络连接,则检查是否存在升级包;
如果存在升级包,则下载至目录;
调用程序来提示是否升级;
如果程序进程不存在则自动启动此程序;
没有在代码中找到开始升级后执行哪些操作。不过由的注释部分可以肯定一定需要重启进入,重启前要更新,以告知进行升级:
–update_package=root:path
l&&&&&&&&&update流程
update有两种方式,第一种是上面提到的由启动的自动过程,升级包在下,升级包的名字在文件中指定。第二种是手动进入模式,然后输入,安装升级包。两种方式不同的只是安装包的位置以及传递参数给的方法,过程都是一样的,工作流程如下图所示:
·&install_package&@&android/bootable/recovery/install.c
得到安装包信息,如,进入函数,流程如下左图。安装包所在的分区,然后打开压缩包,进入开始升级:
handle_update_package中,先对包进行校验,校验过程分三步:
verifySignature:&&&&检验文件与文件的匹配
verifyManifest:&&&&&&检验与签名文件中的是否一致
verifyArchive:&&&&&&&检验包中的文件与是否一致
接着从找到的位置,然后,如下图,把内容读到后,对其进行解析,分解成各个(包括)放在一个中依次执行。
·&maybe_install_firmware_update&@&android/bootable/recovery/firmware.c
install_package成功后,调用,这个函数处理的更新。脚本是这样的:
write_radio_image&PACKAGE:radio.img
cmd_write_firmware_image处理这个命令,将从压缩包加载到中,并调用更新、及。这三个变量对于是可见的,并由它们来判断是否要安装。下面是主要流程:
如果升级涉及(:基带处理相关,:)
1、向写入和
……此后重启系统,将进入并擦除分区
2、向分区写入,分区的内容将被破坏。
3、向写入和
4、重启,由更新
5、向写入,并保留中里的
6、重启,再次进入,调用擦除分区
8、重启,进入
l&&&&&&&&&Bootloader
每次启动,都会读取位于分区的,并检查区域以结尾,还要考虑存在坏块的情况。然后根据读取的命令,启动系统或者更新。工作流程如下:
升级之后,无论升级成功是否,都会进入完成最后的收尾工作,并带着以告知是否成功。如果更新(尚不知道为什么叫这个名字,不过可以确定它就是),一旦失败,若原有的遭到破坏,那么系统将不能。
为实现,还需要做什么?
查看工作流程,找到发起的方法
实现函数,连接与
升级包的打包方法,以及包签名机制
实现与及的通信;
实现的启动逻辑、升级;
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:325524次
积分:3982
积分:3982
排名:第6500名
原创:105篇
转载:45篇
译文:10篇
评论:42条
(6)(3)(4)(1)(8)(1)(1)(2)(2)(2)(2)(5)(7)(2)(10)(5)(6)(5)(7)(11)(6)(13)(10)(2)(2)(3)(3)(2)(1)(2)(1)(18)(8)

我要回帖

更多关于 华为进入recovery模式 的文章

 

随机推荐