ファイルから「.img」を作成する方法

ファイルから「.img」を作成する方法

".img"ファイルの一部のファイルを変更しようとしています。

例:

logo-x.squashfs.img
romfs-x.squashfs.img
safeEnv.img
sign.img

これを行うには、7-Zipを使用して「.img」を抽出し、必要なものを変更しました。しかし、これらの変更されたファイルを7-Zipを使用してアーカイブすることは不可能であったため、これを実行するツールを検索しましたが、元の「.img」を生成できるツールを見つけることができませんでした。

ImgBurnを試してみましたが、元のファイルとは異なるファイルが作成されているようです。また、DDを試してみましたが、ボリュームの代わりにファイルで動作させることはできませんでした。

元の「.img」ファイルを読み、その形式を理解し、新しいファイルから新しいファイルを作成するにはどうすればよいですか?

ベストアンサー1

7-ZipがsquashFSイメージを別々のファイルに変換できることがわかりましたが、これを行うための標準ツールはおそらく次のとおりです rdsquashfs

# Unpack image `foo.img' into directory `foo':
rdsquashfs --unpack-root foo --unpack-path / foo.img

その後、ファイル内のファイルを変更したら、次のようにfoo再パッケージ化できます mksquashfs

mksquashfs foo foo-updated.img

mksquashfs上記のように使用すると、元のイメージファイルの一部のメタデータが失われる可能性があります。これがユースケースにとって重要な場合は、元の画像の説明を読み、新しい画像を作成するときに参照として使用することをお勧めします。

# Unpack image `foo.img' into directory `foo':
rdsquashfs --unpack-root foo --unpack-path / foo.img
# Read description from image `foo.img' to file `foo.desc`:
rdsquashfs --describe foo.img >foo.desc

# Create image `foo-updated.img' from directory `foo' and description:
gensquashfs --pack-file foo.desc --pack-dir foo foo-updated.img

おすすめ記事