linux下如何挂载android的img文件?

发布于 2024-12-23 02:01:03 字数 1539 浏览 1 评论 0原文

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

赏烟花じ飞满天 2024-12-30 02:01:03

请参阅答案:http://omappedia.org/wiki/Android_eMMC_Booting#Modifying_.IMG_Files

首先你需要用simg2img“解压”userdata.img,然后你可以通过挂载它循环设备。

See the answer at: http://omappedia.org/wiki/Android_eMMC_Booting#Modifying_.IMG_Files

First you need to "uncompress" userdata.img with simg2img, then you can mount it via the loop device.

早乙女 2024-12-30 02:01:03

我找到了一个简单的解决方案: http://andwise .net/?p=403

引用

(稍作调整以获得更好的可读性)


这适用于所有想要解压并修改可以使用恢复闪存的原始 system.img 的人。
system.img(例如,您从 Google 工厂映像中获取的)表示稀疏的 ext4 循环安装文件系统。
它被安装到您设备的/system中。请注意,本教程适用于 ext4 文件系统。例如,您可能有 yaffs2 系统映像。

它在 Galaxy Nexus 上的安装方式:

/dev/block/platform/omap/omap_hsmmc.0/by-name/system /system ext4 ro,relatime,barrier=1,data=ordered 0 0

先决条件:

  • Linux 盒子或虚拟机
  • simg2img 和 make_ext4fs 二进制文件,可以从 Linux 软件包下载android-tools-fsutils

程序:

将您的system.img和2个二进制文件放在一个目录中,并确保二进制文件具有执行权限。

第 1 部分 – 挂载文件系统

mkdir sys
./simg2img system.img sys.raw
sudo mount -t ext4 -o loop sys.raw sys/

然后您将系统分区安装在“sys/”中,并且您可以在“sys/”中修改您想要的任何内容。例如 de-odex apk 和框架 jar。

第 2 部分 – 创建新的可闪存系统映像

sudo ./make_ext4fs -s -l 512M -a system new.img sys/
sudo umount sys
rm -fr sys

现在您只需输入:

fastboot flash system new.img

I have found a simple solution: http://andwise.net/?p=403

Quote

(with slight adjustments for better readability)


This is for all who want to unpack and modify the original system.img that you can flash using recovery.
system.img (which you get from the google factory images for example) represents a sparse ext4 loop mounted file system.
It is mounted into /system of your device. Note that this tutorial is for ext4 file system. You may have system image which is yaffs2, for example.

The way it is mounted on Galaxy Nexus:

/dev/block/platform/omap/omap_hsmmc.0/by-name/system /system ext4 ro,relatime,barrier=1,data=ordered 0 0

Prerequisites:

  • Linux box or virtual machine
  • simg2img and make_ext4fs binaries, which can be downloaded from the linux package android-tools-fsutils

Procedure:

Place your system.img and the 2 binaries in one directory, and make sure the binaries have exec permission.

Part 1 – mount the file-system

mkdir sys
./simg2img system.img sys.raw
sudo mount -t ext4 -o loop sys.raw sys/

Then you have your system partition mounted in ‘sys/’ and you can modify whatever you want in ‘sys/’. For example de-odex apks and framework jars.

Part 2 – create a new flashable system image

sudo ./make_ext4fs -s -l 512M -a system new.img sys/
sudo umount sys
rm -fr sys

Now you can simply type:

fastboot flash system new.img

煮酒 2024-12-30 02:01:03

在Android文件系统中,“system.img”和“userdata.img”是VMS Alpha可执行文件。 “system.img”和“userdata.img”包含根文件系统上/system和/data目录的内容。它们被映射到具有 yaffs2 文件系统的 NAND 设备上。现在,yaffs2镜像文件无法在linux PC上挂载。如果可以的话,也许你有一些未打包在 yaffs2 文件系统中的 rom。您可以通过执行以下命令来检查这些 rom 文件:

file <system.img/userdata.img>

如果它显示“VMS Alpha 可执行文件”,那么您可以使用“unyaffs”来提取它。

In Android file system, "system.img" and "userdata.img" are VMS Alpha executable. "system.img" and "userdata.img" have the contents of /system and /data directory on root file system. They are mapped on NAND devices with yaffs2 file system. Now, yaffs2 image file can not be mounted on linux PC. If you can, maybe you got some rom that not packed in yaffs2 file system. You can check those rom file by execute the command:

file <system.img/userdata.img>

If it show "VMS Alpha executable" then you can use "unyaffs" to extract it.

梨涡 2024-12-30 02:01:03

另一种选择是使用 DDMS(Eclipse SDK)中的文件资源管理器,您可以在那里看到整个文件系统并将文件下载/上传到所需的位置。这样您就不必安装和处理图像。只需记住将您的设备设置为 USB 可调试(通过开发人员工具)

Another option would be to use the File Explorer in DDMS (Eclipse SDK), you can see the whole file system there and download/upload files to the desired place. That way you don't have to mount and deal with images. Just remember to set your device as USB debuggable (from Developer Tools)

月牙弯弯 2024-12-30 02:01:03

我发现 Furius ISO 安装座最适合我。我正在使用基于 Debian 的发行版 Knoppix。我一直用它来打开 system.img 文件。

Furius ISO挂载:https://packages.debian.org/sid/otherosfs/furiusisomount

“当我想通过mount -o循环userdata.img /mnt/userdata挂载userdata.img时(相同如 system.img),它告诉我 mount:你必须指定文件系统类型,所以我尝试 mount -t ext2 -o 循环 userdata.img /mnt/userdata,它说 mount:错误的 fs 类型,坏选项,坏超级块...

那么,如何从 userdata.img 内部获取该文件?”
要加载 .img 文件,您必须选择循环并加载 .img 选择循环

接下来选择挂载
选择安装

Furius ISO 安装处理加载 .img 的所有其他选项文件到您的/home/dir。

I have found that Furius ISO mount works best for me. I am using a Debian based distro Knoppix. I use this to Open system.img files all the time.

Furius ISO mount: https://packages.debian.org/sid/otherosfs/furiusisomount

"When I want to mount userdata.img by mount -o loop userdata.img /mnt/userdata (the same as system.img), it tells me mount: you must specify the filesystem type so I try the mount -t ext2 -o loop userdata.img /mnt/userdata, it said mount: wrong fs type, bad option, bad superblock on...

So, how to get the file from the inside of userdata.img?"
To load .img files you have to select loop and load the .img Select loop

Next you select mount
Select mount

Furius ISO mount handles all the other options loading the .img file to your /home/dir.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文