如何制作Ext4文件系统镜像

这篇博客介绍了如何制作Ext4文件系统镜像,主要针对Android系统的Ext4支持。内容包括使用`make_ext4`生成带签名的镜像,然后通过`simg2img`去除签名,以及使用Ubuntu社区的`android-tools-fsutils`工具集。文章还提供了一个名为`test.sh`的脚本示例,并提及将Ext4文件系统挂载到Android设备的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

                       

如何制作Ext4文件系统镜像

将来有一天,在一个目录上右击,会有一个选项是「生成Ext4镜像」。但是目前还没有,记录一下步骤。

个人认为,目前对Ext4镜像支持最活跃的是Google的Android了。那咱单独创建Ext4镜像使用时也向Android上靠拢。Android系统中System分区是在2.3以后默认使用Ext4了,从此后Ext4就好比Windows下的NTFS一样成了标配wikipedia_Ext4

编译Android源码最后是使用make_ext4生成 Ext4镜像+签名(更新:合理使用make_ext4参数是不会导致添加签名的),如果需要纯Ext4镜像,那么需要再去掉签名,使用simg2img。这个两个工具都是在编译Android源码时编译出来的,如果没有Android源码编译环境,当然也可以使用Ubuntu社区已经整理好的工具集android-tools-fsutils,该工具集文件列表如下:(来自android-tools-fsutils/filelist)

/usr/bin/ext2simg/usr/bin/ext4fixup/usr/bin/img2simg/usr/bin/make_ext4fs/usr/bin/mkuserimg/usr/bin/simg2img/usr/bin/simg2simg/usr/bin/simg_dump/usr/bin/test_ext4fixup/usr/share/doc/android-tools-fsutils/changelog.Debian.gz/usr/share/doc/android-tools-fsutils/copyright
  
  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

工具集安装方法:

sudo apt-get install android-tools-fsutils
  
  
  • 1

制作Ext4文件系统镜像:

# 创建测试目录mkdir /tmp/ext4 && cd /tmp/ext4 &&mkdir test test_mount &&echo "Hello Ext4" > test/HelloExt4.txt &&# 生成名为test.ext4的Ext4镜像make_ext4fs -l 512M test.ext4 test &&# 挂载test.ext4到test_mount测试mount -t ext4 -o loop test.ext4 test_mount &&ls test_mount || echo "Error!"
  
  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

以上放到一个名为test.sh的脚本中,执行正常结果如下:

$ sudo ./test.sh Creating filesystem with parameters:    Size: 536870912    Block size: 4096    Blocks per group: 32768    Inodes per group: 8192    Inode size: 256    Journal blocks: 2048    Label:     Blocks: 131072    Block groups: 4    Reserved block group size: 31Created filesystem with 12/32768 inodes and 4207/131072 blocksHelloExt4.txt  lost+found
  
  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

扩展:将该文件系统挂载到Android设备中

# 获取root权限su# 进入sdcard目录cd /sdcard# 将test.ext4挂载test目录下busybox mount -t ext4 -o loop test.ext4 test# 查看test目录下内容shell@hwH30-T00:/sdcard/test $ ls -l-rw-r--r-- root     root           11 2015-10-24 17:49 HelloExt4.txtdrwx------ root     root              1970-01-01 08:00 lost+foundshell@hwH30-T00:/sdcard/test $ 
  
  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
           

再分享一下我老师大神的人工智能教程吧。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.youkuaiyun.com/jiangjunshow

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值