Android Fastboot 与 Recovery 和刷机 千山万水迷了鹿

1. 首先来看下Android系统的分区:

Android系统的分区.jpg

Android分区解释.png

安卓系统一般把rom芯片分成7个区,如果再加上内置sd卡这个分区,就是8个:

  • hboot分区----------负责启动。
  • radio分区----------负责驱动。
  • recovery分区-------负责恢复。
  • boot分区-----------系统内核。
  • system分区---------系统文件。
  • cache分区----------系统缓存。
  • userdata分区-------用户数据。

就是第7个区userdate区的大小,这个区主要装一些软件,是用户可以使用的分区。这个分区的大小直接影响到安装软件的数量。也就是说userdate区就是我们常说的“可用rom”在安卓里,虽然软件可以安装到卡中,但是一些系统软件最好还是安装到userdata分区,否则会出现加载的一些小问题,比如使用的桌面软件和一些在桌面上显示插件的软件。并且就算你把软件都装到卡里,userdata分区还是会不断减小。就像在电脑里,就算你把软件装到D盘,仍然会在c盘生成一些系统文件,占掉c盘空间一样。

2. BootLoader

简单地说,BootLoader就是在操作系统内核运行之前运行的一段小程序。通过这段小程序,我们可以初始化硬件设备、建立内存空间映射图,从而将系统的软硬件环境带到一个合适状态,以便为最终调用操作系统内核准备好正确的环境。在嵌入式系统中,通常并没有像BIOS那样的固件程序(注,有的嵌入式CPU也会内嵌一段短小的启动程序),因此整个系统的加载启动任务就完全由BootLoader来完成。比如在一个基于ARM7TDMI core的嵌入式系统中,系统在上电或复位时通常都从地址0x00000000处开始执行,而在这个地址处安排的通常就是系统的BootLoader程序。

3. BootLoader 和 FastBoot

从字面意思来讲,Fastboot是一个英文单词,翻译成中文的意思是『快速启动』。Fastboot 可以说是一个通信协议,电脑可以通过这个通信协议,直接向手机系统不同分区中写入文件(.img 文件)。

fastboot 主要是用来与bootloader的USB通讯的PC命令行工具。他一般主要也用来向bootloader传送刷机文件进行文件分区重烧。 因此在使用时,必须有一个PC机并且USB线要始终联着。所以这种方式称为线刷。 用fastboot需要bootloader 支持,所以不是每一家公司产品都支的这个功能的

通常大家所讨论的Fastboot,通常都是说安卓手机的Fastboot模式。在安卓手机中fastboot是一种比recovery更底层的刷机模式。简单来说,就是使用USB数据线,连接电脑的一种刷机模式。这种刷机方式,我们又通常称为“线刷”刷机。另外安卓手机还有一种刷机方式,叫做“卡刷”,两者区别如下。

线刷: 直接想手机硬盘写入*.img 文件,我个人觉得这种方法比较快捷,而且省事。但是必须借助电脑和数据线。
卡刷:就是利用recovery的从SD卡中更新系统的这个功能,如果你想刷第三方Rom,必须刷入个第三方recovery,只有fastboot模式才能刷recovery.img。卡刷有个限制,必须要把想要更新的ROM(Android系统)拷贝到SD卡上。如果手机已经是砖了。那只能用线刷了。

fastboot(bootloader)模式怎么进入?

  1. 大多数安卓手机,都可以在关机状态下,然后同时按住【电源键】+【音量+】键,大约2-3s后,就可以进入Fastboot模式。
  2. 作为开发者在开机状态下可以用下面的方式进入:
    adb reboot bootloader

然后就可以执行下面的fastboot命名了:

  fastboot flashing unlock    #6.0以上设备 设备必须解锁,开始刷机(这个不同的手机厂商不同)
  fastboot erase {partition}  # 擦除分区
  fastboot  erase  frp    # 擦除 frp 分区,frp 即 Factory Reset Protection,用于防止用户信息在手机丢失后外泄
  fastboot  flash  boot  boot.img    # 刷入 boot 分区
  fastboot  flash  system  system.img    # 刷入 system 分区
  fastboot  flash  recovery  recovery.img    # 刷入 recovery 分区
  fastboot flashall    #烧写所有分区,注意:此命令会在当前目录中查找所有img文件,将这些img文件烧写到所有对应的分区中,并重新启动手机。
  fastboot  format  data    # 格式化 data 分区
  fastboot  flashing lock    # 设备上锁,刷机完毕
  fastboot  continue    # 自动重启设备
  fastboot reboot# 重启手机
  fastboot reboot-bootloader# 重启到bootloader 刷机用
  fastboot devices  ## 发现手机,显示当前哪些手机通过fastboot连接了

一次烧写boot,system,recovery分区

创建包含boot.img,system.img,recovery.img文件的zip包。
执行:fastboot update {*.zip}

注:华为手机解锁命令: fastboot oem unlock 解锁码

4. Recovery 模式的简介

Recovery 更类似于一个小型的管理系统。只不过功能简单,所做的管理有限。在recovery模式下,会加载了部分文件系统,所以才可以读sdcard中的update.zip进行刷机,当然,也可以清除cache和用户数据。

该模式可根据用户的需要进行修改,因此有官方recovery模式以及第三方recovery模式。第三方recovery模式可以识别第三方rom包,因此可以用来刷机。而官方recovery一般不能识别第三方zip文件。好用的第三方RE:TWRP 和 CWM

Recovery刷机包是称为Google Update 格式。在用Recovery恢复时,刷机包通常放在SD卡里,所以这里刷机一般称为卡刷。

5. 刷入RE:

  1. 首先进入 bootloader(fastboot)模式
  2. fastboot flash recovery recovery.img

作者:千山万水迷了鹿
链接:https://www.jianshu.com/p/d960a6f517d8
来源:简书

Android Fastboot 与 Recovery 和刷机

千山万水迷了鹿关注赞赏支持

原文地址:https://www.cnblogs.com/aliceyang/p/11993858.html

时间: 2024-10-10 12:42:53

Android Fastboot 与 Recovery 和刷机 千山万水迷了鹿的相关文章

android源码编译到刷机过程1

0,vbox挂载共享 sudo mount -t vboxsf H /mnt/H/1,安装系统 配置: 内存 12G cpu 16个,峰值 95% 硬盘200G 分区:自动分区 2,配置环境,下载源码 sudo apt-get update sudo apt-get install git-core gnupg flex bison gperf build-essential \ zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i3

Android内核开发:为什么刷机后系统第一次启动会很慢?

在做Android内核开发的过程中,我们会发现,每次编译完系统源码,烧录到设备/手机中后,第一次启动都会很慢很慢,要好几分钟甚至十几分钟,为什么会出现这样的现象呢?系统刷机后第一次启动与后面再次启动有什么不同呢? 要解答这个问题,首先我们需要了解一下Android Dalvik虚拟机,以及Dalvik-cache. 由于嵌入式设备内存有限.CPU处理器不够强大.功耗敏感等原因,Google没有使用标准的JVM虚拟机,而是为Android单独开发了Dalvik虚拟机. Dalvik虚拟机与JVM虚

android源码编译到刷机过程2

0,vbox挂载共享 sudo mount -t vboxsf H /mnt/H/1,安装系统 配置: 内存 12G cpu 16个,峰值 95% 硬盘200G 分区:自动分区 2,配置环境,下载源码 sudo apt-get update sudo apt-get install git-core gnupg flex bison gperf build-essential \ zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i3

Android源码修改与刷机介绍

原文地址:https://blog.51cto.com/haidragon/2388820

Android手机fastboot 刷机命令【转】

本文转载自:http://luke-feng.iteye.com/blog/2171090 简介:在安卓手机中fastboot是一种比recovery更底层的模式.fastboot是一种线刷,就是使用USB数据线连接手机的一种刷机模式.这种模式是更接近于硬件的界面,所以这个模式一般好似在手机变砖或者修复时使用的.今天就说说fastboot的详细教程. 一.常用命令:1.先进入fastboot文件所在目录:2.输入fastboot.exe启动fastboot:3.查看连接电脑的设备命令:fastb

Android手机fastboot刷机命令

先进入fastboot文件所在目录 连接硬件命令 fastboot devices 删除recover.boot,system同理 Fastboot erase recovery 重刷,boot,system同理 Fastboot flash recovery cn170.img 只需将boot.img和system.img刷入系统即可完成系统的刷新 恶补: FASTBOOT命令有 加载驱动 | fastboot devices | [这句意思估计是 加载fastboot驱动] 擦除 | fas

Android刷机教程

我的机器是Nexus 5 一. 安装驱动 如何进入fastboot模式 1. 拔掉数据线,将手机关机 2. 关机后同时按住[音量减小键]和[开关机键]即可进入Fastboot模式 开启usb调试  --> 勾选usb调试 adb devices可以看到设备名即可 二. 下载刷机包 这是Android 4.4的刷机包,大家可以根据需求自己寻找指定的版本的刷机包 https://dl.google.com/dl/android/aosp/hammerhead-kot49h-factory-02006

(转)Android刷机的一些知识整理

刷机概述刷机原因刷机可以升级和破解固件(在Android上:即可以升级系统,更改系统,获取Root权限):破解系统的原因①安装第三方软件不需要签名,不受证书的束缚:②修改系统的文件,达到系统的瘦身,以至于优化系统:③进行最高权限的操作.如更换系统字体,更改锁屏等等:刷机的影响①伤害硬件,影响手机寿命:②用户将获得最高权限,对系统文件进行修改,可能造成系统的损坏甚至崩溃:刷机对象①Android手机:②iPhone的越狱:③Symbian的刷机:刷机前准备①备份系统和数据:②下载ROM或img:③

fastboot刷机小脚本

在Windows系统下,一般刷机命令是在cmd路径下执行如下命令: 1.adb reboot bootloader2.fastboot flash boot +boot路径3.fastboot flash recovery +recovery路径4.fastboot flash system +sytem路径5.fastboot flash userdata +userdata路径6 .fastboot reboot 但是每次刷机都要执行这六条命令,显然浪费时间,需要些个小的脚本(.bat)才是