Izz*_*zzy 19 shell android partition
我试图找到哪个分区是用来做什么,例如/boot,/recovery,/system,从adb shell.虽然这是微不足道的当前安装的分区(使用mount或df命令,例如参见如何识别分区的名称),当它涉及到当前未安装的分区,这似乎是棘手的(如/recovery当在"用户模式"启动).
cat /proc/mtd:这是空的或不存在的cat /proc/emmc:这是空的或不存在的cat /proc/dumchar_info:不存在(MTK/MediaTek)ls -al /dev/block/platform/*/by-name:要么不存在,要么没有想要的细节parted只是产生一个Error: Can't have a partition outside the disk!上/dev/block/mmcblk1(而只是缺少的"姓名"一栏/dev/block/mmcblk0).所以我很茫然.我知道像DiskInfo这样的应用程序可以显示这些细节,因此必须存储在设备的某个位置.但是,在我的情况下,修改设备(通过安装应用程序)不是一个选项.
所以基本上我的问题归结为:
Android设备上的这些信息存储在哪里?
如果可能,优选通用方法.如果没有,几个方法(if..elseif..fi)的"尝试和错误" 也会这样做.
对于背景:一个示例用法是"我只想检索/boot分区"(通过它获取它的图像dd).首先抓取所有分区并稍后进行评估是不行的 - 太耗费时间,产生的数据太多;) - 这已经描述了这个意图:编写一个小工具来检索特定的磁盘映像.
Izz*_*zzy 12
由于似乎没有"独特的方式"来实现这一点,我开始结合来自全面的想法,将它们加入到一个脚本(或者更确切地说是一个"脚本库")中,以便顺序检查它们(直到获得好评),并且将其集成到名为Adebar的 "设备文档工具"中.有兴趣的人可以在lib/partitions.lib文件中找到它.由于Adebar是开源的(GPLv2),随意复制和使用它 - 或者分叉项目并改进它.
完整的解决方案有点长,可以在这里发布(如上所述,你可以在Github上获取它),但由于SE策略至少包括帖子中的一般部分,这里是它的作用:
不同的来源提供不同的细节集,因此它首先尝试"最好的" - 然后递归,直到找到至少一些东西.
/proc/dumchar_info给出了最多的细节,所以首先尝试这个.快乐的MTK用户会得到这个./proc/mtd 是第二好的来源./proc/emmc 应该几乎和之前的候选人一样多,但使用起来有点棘手/dev/block/platform/*/by-name,与......交叉核对/proc/partitions交叉检查/proc/mounts给我们至少安装了分区因此,我构建的脚本基本上按此顺序遍历源代码,一旦能够收集详细信息就停止(例如,如果/proc/dumchar_info找到了,则无需解析所有其他内容).所有这些都放入了单独的函数,使用相同的结构返回数据,甚至可以合并所有这些结果.
如果有人能想出更好的解决方案,我当然总是愿意接受这个想法:)
| 归档时间: |
|
| 查看次数: |
45477 次 |
| 最近记录: |