
Android system.img挂载和解除挂载
解包后的super.img,里面最重要的是system.img文件,如何对system.img进行挂载和解除挂载是需要掌握的能力
基础知识
system.img、vendor.img 都存在两种格式raw,sparse ,在ubuntu命令窗口下执行下执行:file system.img可以查看文件的信息。
1、一种是raw
image,即经常说的raw image。
使用file观察它: 其特点是完整的ext4分区镜像(包含很多全零的无效填充区),可以直接使用mount进行挂载,因此比较大(一般1G左右)。file 查看
1. 另一种是sparse ext4 image,即经常说的simg
就是说是一个非常普通的dat文件。由于它将raw ext4进行稀疏描述,因此尺寸比较小(没有全零的无效填充区,一般在300到500M之间)。file查看:
Android本身提供了源代码工具在两者之间转换,源代码位于:
system.img解包
对于ext4格式的system.img文件,可以通过格式转换,然后使用mount命令挂载到ubunut系统下文件夹下,达到解包,观察system.img里面内容的目的。
如果img文件是ext2格式,mount的时候会出错,但可以尝试以下命令
file查看system.img
system.img 打包
以下方法任选一种即可
注意,使用make_ext4fs需要先安装工具,不要直接安装android-libext4-utils,这个工具使用会报错
需要安装的是android-tools-fsutils,使用 sudo apt install ./android-tools-fsutils_5.1.1.r38-1.1_amd64.deb
方法1 :
1456M也可以通过原先的 file system.img计算得出来的镜像systest.img 就是修改过的,可以重命名为system.img,如果 设备没有安全启动 那么就能启动成功!
方法2:
方法2也适用于 userdata.img 的修改!
