- Давайте создадим несжатый необработанный образ неизвестного диска (созданный, например,
dd if=/dev/sda of=image
) в одном файле. - Если бы мы знали структуру диска, мы могли бы монтировать определенные разделы из файла как устройства цикла, пропуская некоторые смещения.
- Давайте предположим, что мы не знаем макет. Можем ли мы как-то "смонтировать" весь
image
диска, какой процесс будет создавать виртуальные блочные устройства в соответствии с разметкой диска? Например, наличие 2 разделов наimage
приведет к созданию 3 устройств (/dev/sdx
,/dev/sdx1
,/dev/sdx2
). Затем мы могли бы монтировать такие устройства как обычно.
1
1 ответ
1
После еще нескольких исследований, которые я обнаружил, есть по крайней мере два метода для тестирования:
- Согласно этому посту,
kpartx
является применимым инструментом.- К сожалению, он не работал на Arch Linux для меня
- Это из AUR:
yaourt multipath-tools-git
, кажется, не очень хорошо поддерживается / закончено и заканчивалось ошибками вроде:Device-Mapper: перезагрузить ioctl на loop0p1 не удалось: нет такого устройства
- Может быть хотя бы использован для вывода списка встроенных разделов:
kpartx -l image
- РЕДАКТИРОВАТЬ: Согласно этому сообщению, он кажется устаревшим, и предпочтительным методом является следующий.
- Согласно этому посту,
losetup
может быть использован.- Во-первых, это не сработало:
losetup /dev/loop0 image
(не хватает устройств для определенных разделов). - Попытка повторного использования дополнительной опции
-P
сработала: былиlosetup -d /dev/loop0
,losetup -P /dev/loop0 image
и/dev/loop0pX
. - Эти устройства затем монтируются, как и ожидалось, например,
mount /dev/loop0p3 /mnt/x -t ntfs
- Во-первых, это не сработало: