Смонтировать файл блока на 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и он вернет имя блочного устройства.
Крис С
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.