У меня есть необработанный образ диска, созданный gddrescue. Я не могу его смонтировать, поскольку он имеет сложную структуру разделов.

Сначала я попробовал с параметром losetup portscan.

# losetup -Pf --show -v silvio-extern.iso 
/dev/loop0

# fdisk -lu /dev/loop0

Disk /dev/loop0: 298,1 GiB, 320072933376 bytes, 625142448 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: 0x88c8fbd4

Device       Boot Start       End   Sectors   Size Id Type
/dev/loop0p1         63 625137344 625137282 298,1G  7 HPFS/NTFS/exFAT

# fdisk -lu /dev/loop0p1 

Disk /dev/loop0p1: 298,1 GiB, 320070288384 bytes, 625137282 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: 0x444c544e

Device         Boot      Start        End    Sectors  Size Id Type
/dev/loop0p1p1 ?    1768778098 1776409558    7631461  3,7G 6b unknown
/dev/loop0p1p2 ?    1830843506 3225479386 1394635881  665G 75 PC/IX
/dev/loop0p1p3 ?    1718906437 1718909009       2573  1,3M 41 PPC PReP Boot
/dev/loop0p1p4      2827157504 2827210421      52918 25,9M  0 Empty

Partition table entries are not in disk order.

# fdisk -lu /dev/loop0p1p2
fdisk: cannot open /dev/loop0p1p2: No such file or directory

Размер раздела говорит мне, что я заинтересован в /dev /loop0p1p2.

Я попытался создать руководство для устройства петли. Если бы я получил это право мне нужно offest Start Sector size * сектора (1830843506 * 512 = 937391875072) и SizeLimit Sectors , * Sector size (1394635881 * 512 = 714053571072). Но это не работает:

# losetup -o 937391875072 --sizelimit 714053571072 --show -v -f /dev/loop0p1
/dev/loop1

# fdisk -lu /dev/loop1
fdisk: cannot open /dev/loop1: Inappropriate ioctl for device

# mount /dev/loop1 content/
mount: /dev/loop1 is write-protected, mounting read-only
mount: wrong fs type, bad option, bad superblock on /dev/loop1,
       missing codepage or helper program, or other error

       In some cases useful info is found in syslog - try
       dmesg | tail or so.

Поэтому я дал kpartx изменение. Но это было то же самое:

# kpartx -av silvio-extern.iso 
add map loop0p1 (253:2): 0 625137282 linear /dev/loop0 63

# fdisk -lu /dev/loop0p1

Disk /dev/loop0p1: 298.1 GiB, 320070288384 bytes, 625137282 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: 0x444c544e

Device         Boot      Start        End    Sectors  Size Id Type
/dev/loop0p1p1 ?    1768778098 1776409558    7631461  3.7G 6b unknown
/dev/loop0p1p2 ?    1830843506 3225479386 1394635881  665G 75 PC/IX
/dev/loop0p1p3 ?    1718906437 1718909009       2573  1.3M 41 PPC PReP Boot
/dev/loop0p1p4      2827157504 2827210421      52918 25.9M  0 Empty

Partition table entries are not in disk order.

# fdisk -lu /dev/loop0p1p2
fdisk: cannot open /dev/loop0p1p2: No such file or directory

Затем я попытался запустить losetup с параметром portscan, но безуспешно:

# losetup -Pf --show -v /dev/loop0p1 
/dev/loop1

# fdisk -lu /dev/loop1

Disk /dev/loop1: 298.1 GiB, 320070288384 bytes, 625137282 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: 0x444c544e

Device       Boot      Start        End    Sectors  Size Id Type
/dev/loop1p1 ?    1768778098 1776409558    7631461  3.7G 6b unknown
/dev/loop1p2 ?    1830843506 3225479386 1394635881  665G 75 PC/IX
/dev/loop1p3 ?    1718906437 1718909009       2573  1.3M 41 PPC PReP Boot
/dev/loop1p4      2827157504 2827210421      52918 25.9M  0 Empty

Partition table entries are not in disk order.

# fdisk -lu /dev/loop1p2
fdisk: cannot open /dev/loop1p2: No such file or directory

Я дал kpartx попробовать /dev/loop0p1 и получил несколько сообщений об ошибках:

# kpartx -av /dev/loop0p1 
device-mapper: reload ioctl on loop0p1p1 failed: Invalid argument
create/reload failed on loop0p1p1
add map loop0p1p1 (0:0): 0 7631461 linear /dev/loop0p1 1768778098
device-mapper: reload ioctl on loop0p1p2 failed: Invalid argument
create/reload failed on loop0p1p2
add map loop0p1p2 (0:0): 0 1394635881 linear /dev/loop0p1 1830843506
device-mapper: reload ioctl on loop0p1p3 failed: Invalid argument
create/reload failed on loop0p1p3
add map loop0p1p3 (0:0): 0 2573 linear /dev/loop0p1 1718906437
device-mapper: reload ioctl on loop0p1p4 failed: Invalid argument
create/reload failed on loop0p1p4
add map loop0p1p4 (0:0): 0 52918 linear /dev/loop0p1 2827157504

Просто упомянуть: Auto mount в Ubuntu 16.04 отлично работает с оригинальным диском.

У кого-нибудь есть идеи?

Я пытаюсь смонтировать образ диска с Debian 8.


По предложению @Kamil Maciorowski я попытался смонтировать файл образа напрямую с опцией offset . Это дает мне Input/output error при перечислении содержимого:

# mount -o offset=$((512*63)) silvio-extern.iso content/
# ls -l content/
ls: reading directory content/: Input/output error
total 0

Я дважды проверил смещение с помощью fdisk для файла изображения:

# fdisk -lu silvio-extern.iso 

Disk silvio-extern.iso: 298.1 GiB, 320072933376 bytes, 625142448 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: 0x88c8fbd4

Device             Boot Start       End   Sectors   Size Id Type
silvio-extern.iso1         63 625137344 625137282 298.1G  7 HPFS/NTFS/exFAT

1 ответ1

2

Таблица разделов очень проста: один раздел NTFS с общим смещением.

sudo mount -o offset=$((512*63)) silvio-extern.iso /path/to/mountpoint

Команда fdisk -lu /dev/loop0p1 читает фактический раздел NTFS, как если бы это был диск с таблицей разделов (хотя мне кажется странным, что у вас уже был /dev/loop0p1 , kpartx использовался позже). Во многих таких случаях fdisk предупреждает, что таблица разделов выглядит странно, возможно, выбрано неправильное устройство.

Здесь, я думаю, "внутренняя таблица разделов" не была достаточно странной, чтобы вызвать предупреждение. Тем не менее, "разделы" не в порядке, они имеют необычные типы, их смещения и размеры не имеют смысла. На мой взгляд, эта "внутренняя таблица разделов" недопустима, такая настройка раздела была бы очень странной. Я думаю, что есть только один NTFS-раздел, который не следует рассматривать как разделенное устройство. Вы можете смонтировать его с помощью приведенной выше команды.


Обратите внимание, что вам, вероятно, не нужно losetup . Я думаю, что ваш fdisk может прочитать файл изображения просто отлично:

fdisk -lu silvio-extern.iso

По его выводу вы можете указать смещение 512*63 для использования с командой mount (как показано выше), без losetup при запуске .

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