Проблема в том, что файлы .img - это образы не раздела, а всего диска. Это означает, что они начинаются с загрузчика и таблицы разделов. Вам необходимо узнать смещение раздела и смонтировать его с помощью опции смещения монтирования. Для этого надо выполнить команду:
# fdisk -lu /boot/images/usb-dos.img
…она покажет вам размер блока и начальный блок раздела. Вы можете использовать это для расчета смещения.
Например, у меня есть образ загрузочной флешки с разделом FAT16 объемом 538 МБ. Вывод команды fdisk:
Disk /boot/images/usb-dos.img: 537,11 MiB, 563200000 bytes, 1100000 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x00000000
Device Boot Start End Sectors Size Id Type
/boot/images/usb-dos.img1 * 63 1048319 1048257 511,8M e W95 FAT16 (LBA)
Итак, у меня размер блока составляет 512 байт, а начальный блок - 63. Смещение = 512 * 63 = 32256
.
Таким образом, команда монтирования партиции начинающейся с данного смещения, будет такой:
mount -o loop,offset=32256 /boot/images/usb-dos.img /mnt
или если Вы плохо владеете арифметикой и под рукой нет калькулятора, можно так:
mount -o loop,offset=$((512*63)) /boot/images/usb-dos.img /mnt