Смонтировать гибридный ISO (ISO 9660/HFS+) под Linux
Я пытаюсь смонтировать раздел HFS+ в гибридном файле.dmg в локальную папку.
Я нашел в ней суперблок HFS+ (согласно инструкциям здесь) и попытался связать его с /dev/loop0, а затем смонтировать:
losetup -o MY_HFS_SUPERBLOC_OFFSET /dev/loop0 image.dmg
mount -t hfsplus /dev/loop0 /mnt/cdrom/
Однако, когда я выполнил последнюю команду из списка выше, я получаю это сообщение:
mount: неверный тип fs, неверный параметр, плохой суперблок в /dev/loop0, отсутствующая кодовая страница или вспомогательная программа или другая ошибка. В некоторых случаях полезная информация находится в системном журнале - попробуйте dmesg | хвост или около того
Dmesg | хвост:
[12130.800828] hfs: не удалось загрузить файл каталога
Я уверен, что я правильно указал MY_HFS_SUPERBLOC_OFFSET, я следовал этой технической заметке Apple по структуре разделов HFS+ и нашел соответствующую копию заголовка тома в конце файла.dmg.
Как бы я смонтировать этот образ?
Все предложения приветствуются!
5 ответов
Тупой ответ, но что произойдет, если вы просто попытаетесь сделать:
mount -t hfsplus image.dmg /mnt/cdrom
Не уверен, что это сильно поможет, но, основываясь на источнике драйвера для HFS, похоже, что ему трудно найти b-дерево, подробно описанное в этой технической заметке. К сожалению, у меня нет такого файла, чтобы даже экспериментировать.
372 HFSPLUS_SB (sb).cat_tree = hfs_btree_open (sb, HFSPLUS_CAT_CNID);
373 if (! HFSPLUS_SB (sb).cat_tree) {
374 printk (KERN_ERR "hfs: не удалось загрузить файл каталога \ n");
375 очистных сооружений;
376}
К сожалению, каждая ссылка, которую я нашел, основанная на этом, говорит об использовании живых дисков Linux для fsck поврежденных разделов HFS, а не при монтировании образа dmg.
У меня была похожая проблема даже после распаковки DMG до нормального образа диска. Выяснилось, что проблема заключалась в том, что мой DMG был гибридным (FAT+HFS) образом и неправильно распознавался драйвером HFS.
Проверьте следующую ссылку для способа сделать это [ http://www.64lines.com/mounting-hfs-plus ]
Некоторые прибегают к поиску AcetoneISO как инструмента с открытым исходным кодом, который может работать с ISO-изображениями в формате DMG. Я не знаю, получит ли он метаданные HFS+, но если все, что вам нужно, это содержимое файла, возможно, он справится с этой задачей?
Формат файла DMG в Mac OS/Apple - это сжатый формат файла. Похоже, вы нашли случайно правильную последовательность подписи в сжатом файле и прошли 1024 байта назад, чтобы сместить начало смещения в соответствии со статьей, на которую вы ссылались.
Вы можете распаковать файл dmg с помощью p7zip в Windows и Linux (я не пробовал в Linux) или преобразовать его в несжатый iso с помощью dmg2iso или другой утилиты.
Надеюсь, это поможет...
С уважением...