Как мне смонтировать этот образ диска?

Как мне смонтировать этот образ диска?

Я пытаюсь смонтировать образ Android nand, предоставленный Project Sandcastle (проект, который может запустить Android 10 на iPhone 7). Я пытаюсь смонтировать этот образ диска, чтобы иметь возможность редактировать файл boot.img, который предположительно находится в этом образе. Вот некоторая информация о файле:

$ file nand
nand: DOS/MBR boot sector; partition 1 : ID=0xee, start-CHS (0x0,0,2), end-CHS (0x0,4,4), startsector 1, 255 sectors; partition 2 : ID=0x7, start-CHS (0x0,4,5), end-CHS (0x0,8,8), startsector 256, 256 sectors
$ sudo fdisk -lu nand
Disk nand: 3.5 GiB, 3269459968 bytes, 6385664 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
nand1           1   255     255 127.5K ee GPT
nand2         256   511     256   128K  7 HPFS/NTFS/exFAT

Я пытался смонтировать это в macOS, но он запросил файловую систему, и ext4 и msdos не работали. Поэтому я сделал Ubuntu live USB и попробовал эти команды и получил такой вывод:

$ sudo mkdir /android
$ sudo mount -o loop,rw,offset=512 nand /android
mount: /android: wrong fs type, bad option, bad superblock on /dev/loop6, missing codepage or helper program, or other error.

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

$ mv nand android.image
$ sudo mount -o loop,rw,offset=512 android.image /android
NTFS signature is missing.
Failed to mount '/dev/loop6': Invalid argument
The device '/dev/loop6' doesn't seem to have a valid NTFS.
Maybe the wrong device is used? Or the whole disk instead of a
partition (e.g. /dev/sda, not /dev/sda1)? Or the other way around?

Я попробовал смонтировать другой раздел со смещением=$((512*256)), но получил тот же результат. Я также попробовал без смещения, но получил тот же результат. Наконец, я попробовал использовать ro вместо rw, но снова получил тот же результат. Я застрял и не знаю, что делать дальше. Сжатый gzip образ nand можно найтипо этой ссылке. Я был бы очень признателен за любую помощь, которую кто-либо может предложить.

решение1

Ваш fdiskвывод показывает, что этонетдопустимая таблица разделов: nand2 занимает всего 128 КБ, что просто недостаточно для раздела NTFS. Я использовал 7-zip (вероятно, вы можете использовать p7zip, доступный изначально), запущенный в Wine, чтобы открыть образ: он содержит два "раздела" и огромный файл, который является разделом ext4.

Не спрашивайте меня как, но я нашел смещение для этого раздела ext4. Вы можете смонтировать его с помощью:

mount -o loop,offset=3145728,ro nand /mnt/sandcastle

Его нельзя смонтировать для чтения и записи, поскольку в Android 10 реализована новая функция ext4 под названием «shared_blocks», которая пока не нашла своего места в основной ветке.

Связанный контент