1

У меня есть файл изображения: 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 я получаю только предупреждение.

Какие есть варианты для извлечения содержимого этого изображения?

1 ответ1

3

Это потому, что я пытаюсь смонтировать образ, созданный для другой архитектуры?

Нет, это потому, что вы пытаетесь смонтировать образ, который изначально не похож на монтируемую файловую систему. Это целый образ диска - он начинается с таблицы разделов MBR и только затем имеет несколько числовых разделов, содержащих файловые системы, каждый из которых монтируется отдельно. (Это конкретное изображение имеет только один раздел.)

Чтобы получить доступ к его содержимому, вам нужно настроить устройство петли для каждого раздела, а не только для всего файла.

Если у вас относительно свежее ядро и 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 .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .