Смонтировать файл блока на OSX

31

Как можно монтировать файлы блоков на osx? Я пытался

hdiutil attach filename

Однако это заканчивается

hdiutil: attach failed - not recognized

Кажется, что hdiutil работает только для изображений iso / dmg. В Ubuntu файл блока можно легко смонтировать с помощью

mount -o loop filename mountpoint

Фон: я использовал vdfuse ( http://forums.virtualbox.org/viewtopic.php?f=26&t=33355&start=0 ) для монтирования файлов виртуального диска (например, vhd). Сам vdfuse работает нормально, а разделы, содержащиеся на виртуальном диске, отображаются в виде файлов блоков в точке монтирования.

Файл VHD -> / my / mountpoint / Partition1, Partition2, ...

В Ubuntu файлы блоков можно монтировать через

mount -o loop /my/mountpoint/Partition1

однако опция -o loop не существует в osx.

Ян Бернлёр
источник

Ответы:

48

hdiutil был верным путем, но важными составляющими являются параметры.

Команда

hdiutil attach -imagekey diskimage-class=CRawDiskImage -nomount filename

идеально монтирует файл блока как файловую систему блока. После этого вы можете смонтировать любую fs, как указал Крис С.

Ян Бернлёр
источник
17
На всякий случай, если кто-то застрянет здесь ... эта команда даст вам что-то вроде /dev/disk1. Вы можете запустить, hdiutil mount /dev/disk1чтобы увидеть файлы внутри. Он распечатает местоположение точки монтирования, что-то вроде/Volumes/Untitled
Сэм
1

Разве у раздела нет файловой системы? Обычно вы монтируете его с чем-то вродеmount -t ntfs /my/mountpoint/Partition1 /mnt

Крис С
источник
спасибо, это обычно будет путь. однако для этого потребуется / my / точка монтирования / Partition1 быть блочным устройством ... По той же причине, по которой вы не можете смонтировать iso путем монтирования / path / to / iso / path / to / mountpoint
jan bernlöhr
1
Почему бы просто не создать запоминающее устройство с файловой памятью? Я думаю, что это так, hdid /my/fileи он вернет имя блочного устройства.
Крис С