画像ファイルがあります:kali-linux-1.0.9a-armhf.img
。 Kali Linux ARMH build
の画像です。
画像の内容を抽出しようとしていますが、役に立ちません。イメージをマウントしようとしましたが、ファイルシステムタイプが間違っているというエラーが表示され続けます。
私は試しました:
Sudo mount -o loop -t iso9660 kali-linux-1.0.9a-armhf.img /mnt/kali
Sudo mount -o loop -t ext3 kali-linux-1.0.9a-armhf.img /mnt/kali
Sudo mount -o loop -t ext4 kali-linux-1.0.9a-armhf.img /mnt/kali
私が得るエラーは次のとおりです。
mount: wrong fs type, bad option, bad superblock on /dev/loop0
これは、別のアーキテクチャ用に作成されたイメージをマウントしようとしているためですか?
動作に近づく唯一のコマンドは、iso9660
としてマウントする場合です。そのコマンドは以下を出力します:
mount: block device /mnt/hgfs/Downloads/kali-linux-1.0.9a-armhf/kali-linux-1.0.9a-armhf.img is write protected, mounting read only
mount: wrong fs type, bad option, bad superblock on /dev/loop0
そのため、マウントされているように見えますが、マウントされていないため、エラーが発生します。 iso9660
以外のファイルシステムを使用すると、警告のみが表示されます。
この画像のコンテンツを抽出するための私のオプションは何ですか?
これは、別のアーキテクチャ用に作成されたイメージをマウントしようとしているためですか?
いいえ、そもそもマウント可能なファイルシステムのように見えないイメージをマウントしようとしているためです。 これはディスク全体イメージです – MBRパーティションテーブルで始まり、ファイルシステムを含むいくつかのパーティションがあります。そのうち個別にマウントされます。 (ただし、この特定のイメージには1つのパーティションしかありません。)
その内容にアクセスするには、ファイル全体だけでなく、パーティションごとにループデバイスを設定する必要があります。
比較的最近のカーネルとutil-linuxを使用している場合は、losetup --partscan
:
# losetup -f -P kali-linux-1.0.9a-armhf.img
# losetup
NAME SIZELIMIT OFFSET AUTOCLEAR RO BACK-FILE
/dev/loop0 0 0 0 0 /tmp/kali-linux-1.0.9a-armhf.img
# lsblk -f
NAME FSTYPE LABEL UUID MOUNTPOINT
loop0
└─loop0p1 ext4 DEBIAN_LIVE 5ac96015-c0e0-45dc-8642-a53d9e9826c8
# mount /dev/loop0p1 /mnt
システムが古すぎる場合は、同様の機能がkpartx
ツールによって提供されます。