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>

如何查看Android设备上的分区信息的更多相关文章

  1. 非root Android设备上Tcpdump的实现

    通常我们在Android应用中执行某个命令时会使用"Runtime.getRuntime().exec("命令路径")"这种方式,但是当我们执行抓包操作时,使用 ...

  2. 在ios android设备上使用 Protobuf (使用dll方式)

    http://game.ceeger.com/forum/read.php?tid=13479 如果你的工程可以以.Net 2.0 subset模式运行,请看这个帖子中的方法. 地址:http://g ...

  3. (转)在ios android设备上使用 Protobuf (使用dll方式)

    自:http://game.ceeger.com/forum/read.php?tid=13479 如果你的工程可以以.Net 2.0 subset模式运行,请看这个帖子中的方法. 地址:http:/ ...

  4. android设备上运行i-jetty服务

    android设备上运行i-jetty服务: 1) i-jetty安装 本人小菜一个,i-jetty源码有好几个文件,不知道怎么运行起来,于是找了一个现成可运行的i-jetty工程(感谢这位同学的分享 ...

  5. Android设备上的逐像素碰撞检测

    介绍 我正在我的Android设备上开发一款游戏,不用说,因为我想要接触到尽可能多的用户,我做到了 省略了硬件加速.因此,我需要编写能够在大多数设备上运行的最快的代码.我从一个简单的表面视图开始 并使 ...

  6. android设备内部添加apn信息

    由于工作原因今天需要给多台android设备中写入某张sim卡的apn相关信息,虽然可以通过sqlite命令写sql语句来写入到设备中,但设备一多起来就太低效了,所以在学习的过程中摸索着写了一个将ap ...

  7. 在android设备上调试ionic应用

    方法1: ionic run android -l -c 将会在console中输出日志信息 方法2: (1).使用usb连接android设备,并打开android设备的调试功能 (2).在chro ...

  8. 18、ESC/POS指令集在android设备上使用实例(通过socket)

    网上关于通过android来操作打印机的例子太少了,为了方便更多的开发同仁,将近日所学分享一下. 我这边是通过android设备通过无线来对打印机(佳博58mm热敏式-58130iC)操作,实现餐厅小 ...

  9. Android设备上i-jetty环境的搭建-手机上的web服务器

    本文主要跟大家分享如何将一台Android设备打造成一个web服务器使用. 编译i-jetty 1.将源码download下来,http://code.google.com/p/i-jetty/dow ...

随机推荐

  1. 关于快速沃尔什变换(FWT)的一点学习和思考

    最近在学FWT,抽点时间出来把这个算法总结一下. 快速沃尔什变换(Fast Walsh-Hadamard Transform),简称FWT.是快速完成集合卷积运算的一种算法. 主要功能是求:,其中为集 ...

  2. 【CodeVs 6128 Lence的方块们】

    ·希望除了内部人员以外能有人通过这道题,因为这是大米饼第一次改编的题 ·我所见到的"本题原版"的题解也很少,搜索一下应该是: #include<stdio.h> #in ...

  3. shell 报错:syntax error: unexpected end of file

    有时执行脚本时会报错: [root@host1 shell]# sh -x test.sh + $'\r' : command not found test.: syntax error: unexp ...

  4. HttpClient 实现 get,post请求

    private String sendPost(Map<String,Object> data, String url) { CloseableHttpClient httpClient ...

  5. js去除空格,判断是否包含

    js去除空格 function trimStr(str){ return str.replace(/(^\s*)|(\s*$)/g,""); } js判断是否包含 //是否包含 f ...

  6. Redis开启远程登录连接

    Redis 安装详见 http://www.cnblogs.com/zendwang/p/6560628.html 当前安装测试版本:Redis 3.2.8 默认安装完毕Redis只能本机访问 [ro ...

  7. windows下将mysql加入环境变量

    path添加C:\program files\mysql\bin 即可

  8. Windows转Linux总结(附带常用Linux命令-LinuxMint)

    这是我在Linux系统下写的第一篇博客,花了一周的时间从Windows系统转到Linux并且可以完成日常操作,能在Linux系统下完成开发,运用各种开发工具,写各种语言小程序和JavaEE. 经过这一 ...

  9. 文件上传,服务端压缩文件方法,重点是png与gif图片的压缩,保证了透明度与动画

    /// <summary> /// 上传文件帮助类 /// </summary> public class ImageUploadHelper { #region SaveVi ...

  10. JConsole/JvisualVM 远程连接失败处理

    今天在使用JConsole进行远程连接时,发现IP和端口在Windows下是可以远程telnet的,但是,使用JConsole时却无法连接. 我的环境如下: Windows下运行JConsole,准备 ...