
Я пытаюсь смонтировать image_file_name.img
каталог, содержащий несколько разделов, но безуспешно.
Подробности раздела:
sfdisk -l -uS image_file_name.img
Disk image_file_name.img: cannot get geometry
Disk image_file_name.img: 11 cylinders, 255 heads, 63 sectors/track
Warning: The partition table looks like it was made
for C/H/S=*/4/63 (instead of 11/255/63).
For this listing I'll assume that geometry.
Units = sectors of 512 bytes, counting from 0
Device Boot Start End #sectors Id System
image_file_name.img1 252 503 252 83 Linux
image_file_name.img2 504 177407 176904 83 Linux
image_file_name.img3 0 - 0 0 Empty
image_file_name.img4 0 - 0 0 Empty
Я запускаю следующую mount
команду:
mount -o offset=$((252*512)) image_file_name.img /tmp/abc/
Сообщение об ошибке:
mount: mounting /dev/loop0 on /tmp/abc/ failed: Invalid argument
Соответствующая ошибка dmesg
в
[106359.764567] NTFS-fs error (device loop0): parse_options(): Unrecognized mount option offset.
Это происходит в ограниченной операционной системе без таких инструментов, как kpartx
.
Любая помощь будет оценена по достоинству.
решение1
Учитывая ошибку, которую вы видите в dmesg
, я бы пропустил offset
этот mount
вариант и вместо этого использовал бы losetup
.
С помощью util-linux
's losetup
можно использовать обработку разделов:
losetup -P -f --show image_file_name.img
Это покажет имя используемого петлевого устройства; используйте его для монтирования, используя
mount /dev/loop0p1 /tmp/abc
но замена loop0
(нет p1
) по мере необходимости. Другие разделы будут доступны с помощью p2
и т.д.
При использовании busybox
's losetup
вам необходимо указать смещение напрямую:
losetup -o $((252*512)) -f image_file_name.img
затем смонтируйте петлевое устройство напрямую,например
mount /dev/loop0 /tmp/abc
Если вы отмонтируете файловую систему, вам также следует освободить петлевое устройство с помощью losetup -d
.