android手机的分区相关

1.安卓手机和平板一般包括以下标准内部分区:

/boot

/system

/recovery

/data

/cache

/misc

另外还与SD卡分区:

/sdcard

/sd-ext

====================================================================

2.各分区的详细介绍

/boot

正如名字所代表的意思(注:boot的意思是启动),这个分区使手机可以启动。它包括了内核(kerne)和ramdisk两部分。如果没有这个分区,手机通常无法启动到安卓系统。只有必要的时候,才去通过Recovery软件擦除(format)这个分区,一旦擦除,设备只有再从新安装一个新的boot分区,可以通过安装一个包含boot分区的ROM来实现,否则无法启动安卓系统。

/system

这个分区基本包含了整个安卓操作系统,除了内核(kerne)和ramdisk。包括安卓用户界面、和所有预装的系统应用程序。擦除这个分区,会删除真个安卓系统,但不会导致不能启动。你可以通过进入Recovery程序或者bootloader程序中,安装一个新ROM,也就是新安卓系统。

/recovery

这个分区可以认为是一个boot分区的替代品,可以是你的手机进入Recovery程序,进行高级恢复或安卓系统维护工作。要更详细的了解这个分区,请参考CWM使用指南。

/data

这个分区也叫用户数据区,包含了用户的数据:联系人、短信、设置、用户安装的程序。擦除这个分区,本质上等同于手机恢复出厂设置,也就是手机系统第一次启动时的状态,或者是最后一次安装官方或第三方ROM后的状态。在Recovery程序中进行的“data/factory reset ”操作就是在擦除这个分区。

/cache

这个分区是安卓系统缓存区,保存系统最常访问的数据和应用程序。擦除这个分区,不会影响个人数据,只是删除了这个分区中已经保存的缓存内容,缓存内容会在后续手机使用过程中重新自动生成。

/misc

这个分区包括了一些杂项内容:比如一些系统设置和系统功能启用禁用设置。这些设置包括CID(运营商或区域识别码)、USB设置和一些硬件设置等等。这是一个很重要的分区,如果此分区损坏或者部分数据丢失,手机的一些特定功能可能不能正常工作。

/sdcard

这个分区不是设备系统存储空间,是SD卡空间。从使用上讲,这个是你自己的存储空间,可以随便你任意存放相片、视频、文档、ROM安装包等。擦除这个分区是完全安全的,只要你把分区中你需要的数据都备份到了你的电脑中。虽然一些用户安装的程序会使用这个分区保存它的数据和设置信息,擦除了这个分区,这些程序的数据,比如有些游戏的存档,就会全部丢失。在既有内部SD卡和外部SD卡的设备中,比如三星Galaxy S和一些平板电脑,/sdcard分区通常指向内部SD卡。外部SD卡,如果存在的话,会对应一个新的分区,每个设备都不一样。在三星Galaxy
S手机中, /sdcard/sd代表的是外部SD卡,而其它设备,有可能是/sdcard2。与/sdcard不同,没有系统或应用程序数据会自动存放在外部SD卡中。外部SD卡中的所有数据都是用户自己添加进去的。在你把分区中需要的数据都备份到了你的电脑中之后,你可以安全的擦除这个分区。

/sd-ext

这不是安卓系统的标准分区,但在第三方ROM届却很流行。它根本上是你SD卡上一个额外的分区,从外部功能表现上,与 /data分区的功能相同。一些第三方ROM,有一些特殊的功能叫做APP2SD+或者data2ext。这个功能在设备的内部存储空间比较小(也就是分配给/data分区的空间比较小)时非常有用。因此,需要安装更多程序,但内部空间又不够的用户,可以使用支持这个功能的第三方ROM,来获取额外的空间安装更多的应用程序。 擦除这个分区和擦除 /data分区的结果相同,你将会丢失联系人,短信、安装应用程序和设置。

3.执行adb shell命令查看当前设备的文件:

Acct:系统回收站,误删除的系统文件恢复

Cache:缓存文件夹

Mnt :挂载点目录,比如插入T卡后,目录是/mnt/sdcard/

Etc:系统主要配置文件

System:   Android系统文件

Sys: Linux内核文件

Proc:运行时文件

init.rc:启动脚本

default.prop:系统属性配置文件

data: 用户程序目录(自己安装的apk)

dev:设备文件

sdcard:手机SD卡文件

4.其他

以下引自老罗博客http://blog.csdn.net/luoshengyang/article/details/29688041

刷ROM:

最底层的是各种硬件设备,往上一层是Bootloader。Bootloader是什么概念呢?我们都知道,PC主板上有一小段程序叫做BIOS,主板加电时它是第一个跑起来的程序,负责初始化硬件,以及将OS启动起来。在嵌入式世界里(手机也是属于嵌入式设备),也有一小段类似BIOS的程序,不过它不叫BIOS,而是叫Bootloader。使用最广泛的Bootloader是一个叫uboot的程序,它支持非常多的体系结构。经过编译后,uboot会生成一个uboot.bin镜像,将这个镜像烧到设备上的一个特定分区去,就可以作为Bootloader使用了。

Bootloader支持交互式启动,也就是我们可以让Bootloader初始化完成硬件之后,不是马上去启动OS,而是停留在当前状态,等待用户输入命令告诉它接下来该干什么。这种启动模块就称为Fastboot模式。对于Android设备来说,我们可以通过adb reboot bootloader命令来让它重新启动并且进入到Fastboot模式中去。

在讨论Fastboot模式之前,我们先了解一下嵌入式设备的ROM结构(NAND flash之类的芯片)。通常,一个能够正常启动的嵌入式设备的ROM包含有以下四个分区:

1. Bootloader分区,也就是存放uboot.bin的分区

2. Bootloader用来保存环境变量的分区

3. Kernel分区,也就是存放OS内核的分区

4. Rootfs分区,也就是存入系统第一个进程init对应的程序的分区

当设备处于Fastboot模式时,我们可以通过另外一个工具fastboot来让设备执行指定的命令。对搞机者来说,最常用的命令就是刷入各种镜像文件了,例如,往Kernel分区和Rootfs分区刷入指定的镜像。

对于Android设备来说,当它处于Fastboot模式时,我们可以将一个包含有Kernel和Rootfs的Recovery.img镜像通过fastboot工具刷入到一个称为设备上一个称为Recovery的分区去。这个过程就是刷Recovery了,它也是属于刷ROM的一种。由于Recovery分区包含有Kernel和Rootfs,因此将Recovery.img刷入到设备后,我们就可以让设备正常地启动起来了。这种启动方式就称为Recovery模式。 对于Android设备来说,我们可以通过adb
reboot recovery命令来让它进入到Recovery模式中去。

当设备处于Recovery模式时,我们可以做些什么呢?答案是取决于刷入的Recovery.img所包含的Rootfs所包含的程序。更确切地说,是取决于Rootfs镜像里面的init程序都做了些什么事情。不过顾名思义,Recovery就是用来恢复系统的意思,也包含有更新系统的意思。这里所说的系统,是用户正常使用的系统,里面包含有Android运行时框架,使得我们可以在上面安装和使用各种APP。

用户正常使用Android设备时的系统,主要是包含有两个分区:System分区和Boot分区。System分区包含有Android运行时框架、系统APP以及预装的第三方APP等,而Boot分区包含有Kernel和Rootfs。刷入到System分区和Boot分区的两个镜像称为system.img和boot.img,我们通常将它们打包和压缩为一个zip文件,例如update.zip,并且将它上传到Android设备上的sdcard上去。这样当我们进入到Recovery模式时,就可以在Recovery界面上用我们之前上传到sdcard的zip包来更新用户正常使用Android设备时所用的系统了。这个过程就是通常所说的刷ROM了。

不知道大家看明白了没有?广义上的刷ROM,实际上包含更新Recovery和更新用户正常使用的系统两个意思;而狭义上的刷ROM,只是更新用户正常使用的那个系统。更新Recovery需要进入到Fastboot模式中,而更新用户正常使用的那个系统需要进入到Recovery模式中。Android设备在启动的过程中,在默认情况下,一旦Bootloader启动完成,就会直接启动用户正常使用的那个系统,而不会进入到Recovery模式,或者停留在Bootloader中,也就是停留在Fastboot模式中。只有通过特定的命令,例如adb
reboot recovery和adb reboot bootloader,或者特定的按键,例如在设备启动过程中同时按住音量减小键和电源开关键,才能让设备进入到Recovery模式或者Fastboot模式中。

因此,一个完整的刷ROM过程,包含以下两个步骤:

1. 让设备进入到Fastboot模式,刷入一个recovery.img镜像

2. 让设备进入到Recovery模式,刷入一个包含system.img镜像和boot.img镜像的zip包

不过需要注意的是,system.img镜像和boot.img镜像不一定是只有在Recovery模式才能刷入,在Fastboot模式下也是可以刷入的,就像在Fastboot模式中刷入recovery.img镜像一样,只不过在Recovery模式下刷入它们更友好一些。说到这里,就不得不说另外一个概念,就是所谓的Bootloader锁。在锁定Bootloader的情况下,我们是无法刷入非官方的recovery.img、system.img和boot.img镜像的。这是跟厂商实现的Bootloader相关的,它们可以通过一定的算法(例如签名)来验证要刷入的镜像是否是官方发布的。在这种情况下,必须要对Bootloader进行解锁,我们才可以刷入非官方的镜像。

时间: 2024-10-07 08:10:57

android手机的分区相关的相关文章

android手机字体库相关问题深入剖析

hi,all:   问题一.android系统支持什么字体库? 1.Android系统默认支持三类字体家族,分别为:"serif", "sans-serif", "monospace",那如何证明?具体论证与定义详见下面的知识点. 这三类字体家族,每一类都包括若干个*.ttf的字体文件. 除此之外,每个设备厂商在此基础上,都会额外增加一些自己定义的字体文件*.ttf,以兼容更多的语言及字体风格. 以三星手机(SM-N7508V)为例:这些字体文件

关于Android的Build类——获取Android手机设备各种信息

经常遇到要获取Android手机设备的相关信息,来进行业务的开发,比如经常会遇到要获取CPU的类型来进行so库的动态的下载.而这些都是在Android的Build类里面.相关信息如下: private String loadSystemInfo() { StringBuilder sb = new StringBuilder(); sb.append("主板:" + Build.BOARD + "\n"); sb.append( "系统启动程序版本号:&q

Android手机部分名词浅谈

1.什么是Radio? Radio是无线通信模块的驱动程序,ROM是系统程序,radio负责网络通信,ROM和Radio可以分开刷,互不影响.如果您的手机刷新了ROM后有通讯方面的问题可以刷新radio试试.2.什么是RAM?全名Random Access Memory(随机存储记忆体),是PPC上的移动存储部分,用来存储和保存数据的.它在任何时候都可以读写,RAM通常是作为操作系统或其他症状运行程序的临时存储介质(可称作系统内存).3.什么是ROM?ROM类似于PC电脑的操作系统,比如wind

从adb prrmission denied到理解android手机提权背后

场景描述: 1. 连接Android手机,adb shell find xxxx,显示adb permission denied: 2. Google显示需要运行在root权限下,adb root,无错误输出,再次adb shell find xxxx,仍显示permission denied; 3. 发现手机未获取root权限,尝试root精灵和kingroot一键root均失败. 原因: 1. adb是Android SDK自带调试工具(相关介绍:Android developer): 2.

如何从android手机中把自己的数据库给COPY出来

============问题描述============ 自己写个APK,安装在android手机,程序运行时会创建一个SQLITE的数据库: 用eclipse,可以看到数据库的位置,我把手机插入电脑,打USB连接后,却不能在手机中找到数据库文件(APK绝对是安装在SD卡上的),有人说要有ROOT的权限.不知如何实现,如果要写一个程序来实现,请高手指点思想,列出相关重点函数,谢谢 ============解决方案1============ 自己的应用复制自己的数据库,无需root,直接文件复制就

MingQQ Android版发布了,可以在Android手机上登录你的QQ,收发消息哦...

最近为了学习Android开发,特意将原来写的MingQQ Windows版移植到了Android上面,以此练手.通过这次练习,学习到了不少Android开发的相关知识,特别是界面开发部分. MingQQ的界面模仿了Android QQ的基本功能,虽然体验性完全比不上QQ,但目前技术有限,只能做到现在这水平了,更好的界面用户体验留待以后再提升吧. 下拉刷新目前使用了第三方开源库Android-PullToRefresh,以后再考虑替换成自己写的下拉刷新组件,并增加消息列表的右滑删除功能. 发布的

(转)认识Android手机--来自MIUI

============问题描述============ MIUI今天开始发布MIUI ROM的适配教程,这是第一篇,概述Android的分区与架构,个人认为对理解Android有帮助,故转帖. 原帖地址 :http://www.miui.com/thread-402322-1-1.html http://www.miui.com/thread-402302-1-1.html 大家好,欢迎来到MIUI ROM适配之旅.在开始我们的旅程之前,先介绍一下我们的大致安排以及对大家的要求. 我们的旅程会

为什么android手机越用越慢

根据第三方的调研数据显示,有 77% 的 Android 手机用户承认自己曾遭遇过手机变慢的影响,百度搜索"Android+ 卡慢",也有超过 460 万条结果.在业内,Android 手机一直有着"越用越慢"的口碑,这个现象甚至超出了硬件范畴--很多中高端 Android 手机在硬件参数上都优于同一代 iPhone,但是它们仍然会在使用半年到一年的时间后进入"欠流畅"的状态--这无疑是一件令人困扰的事情. 然而,若是要回答这个问题,我们需要追溯

ubuntu 连接android手机

在windows下,Android手机连接PC非常简单,但是当我切换到ubuntu下时,发现Target列表中出现一行“?????  N/A   unknown ”类似这样一行的内容,说明PC无法正确识别手机,通过查找相关资料后,进行相关设置,发现可以连接PC了,故在此记录下来,以备后用. 1.查找手机usb信息(ID) 方法:先拔下手机连接PC的USB线,然后查看USB设备信息,再次插入USB连接线,再次查看USB设备信息,通过比较,查找到自己手机的USB信息. 使用命令:lsusb ? 1