Android设备上,一般都会存在一块eMMC存储芯片来存放系统和用户数据,甚至部分的引导程序。

一般设备出厂时,各个厂商都会将这块存储芯片分成很多的分区,每个分区内存放不同的内容。具体分区的布局每个厂商或者芯片供应商都会不一样。

可以通过下面的命令来查看目前系统中到底有多少分区:

[plain] view plain copy

  1. cat /proc/partitions

这条命令会显示系统中的所有分区,以及每个分区的大小是多少个block,还有主设备号和次设备号等信息。在Google Nexus 6设备上,命令的显示结果如下:

major下的数字代表这个分区所在设备的主设备号,同样minor下的数字代表次设备号。而#blocks下的数字代表这个分区占用了多少块。name下的字符串代表了这个分区的名字。

啰嗦一句,可以通过下面的命令查看当前系统中所有设备的主设备号:

[plain] view plain copy

  1. cat /proc/devices

在Google Nexus 6设备上,命令的显示结果如下:

可以看到,系统中有这么多个块设备,179对应的就是mmc,259对应的是blkext。

如果想知道每个挂载到文件系统上的分区大小和使用情况的信息,可以像普通Linux一样使用df命令:

不过df命令只显示了在文件系统上的挂载点,并没有显示对应的块设备是哪个,这点可以通过使用mount命令来弥补:

dfmount命令的结果相结合,可以得到更加完整的信息,比如对于/system来说,其块设备是/dev/block/platform/msm_sdcc.1/by-name/system,文件系统使用的是ext4,大小是1.9G,当前已使用了1.6G,等等。

如果想看某些分区的别名信息,对于高通平台上来说,可以通过下面的命令:

[plain] view plain copy

  1. ls -al /dev/block/platform/msm_sdcc.1/by-name

在Google Nexus 6设备上,命令的显示结果如下:

这些信息可以帮助发现每个分区到底是用来干什么的,比如/dev/block/mmcblk0p41这个分区就是用来存放/system的。

有了这些信息,就可以使用dd命令,将感兴趣的分区全部倒出来进行分析。比如,如果想将TrustZone相关的tz分区倒出到sdcard上,可以使用下面的命令:

[plain] view plain copy

  1. dd if=/dev/block/platform/msm_sdcc.1/by-name of=/sdcard/tz.img<pre>

最新文章

  1. style设置/获取样式的问题 和 offsetWidth/offsetHeight的问题
  2. [译]git push
  3. ios检测是否有网络
  4. NServiceBus-性能测试
  5. jQuery选择器解释和说明
  6. How to detect and avoid memory and resources leaks in .NET applications
  7. 读书笔记之 - javascript 设计模式 - 适配器模式
  8. Lost&#39;s revenge - HDU 3341 (自动机+DP)
  9. HDU 1432 Lining Up (POJ 1118)
  10. placeholder 属性的支持
  11. SQL 网文链接
  12. (困难) CF 484E Sign on Fence,整体二分+线段树
  13. Windows+Apache+mod_wsgi+Flask部署方法
  14. 论文阅读笔记:【Transforming Auto-encoders】
  15. egg 为企业级框架和应用而生, 阿里出品
  16. Vue 2.0 v-for 响应式key, index及item.id参数对v-bind:key值造成差异研究
  17. PAT甲题题解-1013. Battle Over Cities (25)-求联通分支个数
  18. Django +uwsgi+python3+nginx + mysql 部署
  19. oracle数据库查询日期sql语句(范例)、向已经建好的表格中添加一列属性并向该列添加数值、删除某一列的数据(一整列)
  20. 记录一下iOS Leak的使用方法。

热门文章

  1. Linux添加系统调用的两种方法
  2. 2017ACM/ICPC广西邀请赛-重现赛 1010.Query on A Tree
  3. 杜教筛进阶+洲阁筛讲解+SPOJ divcnt3
  4. Linux常用命令大全(归类)
  5. java判断A字符串是否包含B字符串
  6. typeAliases别名
  7. Windows下createfile函数用GENERIC_READ访问模式打不开磁盘
  8. python webdriver环境搭建
  9. sqlserver 判断字段是否为空字符串或者null
  10. Gradle--初识