在 OSX 上挂载块文件

jan*_*öhr 38 mount mac-osx loopback

如何在 osx 上挂载块文件?我试过

hdiutil attach filename
Run Code Online (Sandbox Code Playgroud)

然而,这终止于

hdiutil: attach failed - not recognized
Run Code Online (Sandbox Code Playgroud)

hdiutil 似乎只适用于 iso/dmg 图像。在 ubuntu 上,块文件可以很容易地挂载

mount -o loop filename mountpoint
Run Code Online (Sandbox Code Playgroud)

背景:我使用 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
Run Code Online (Sandbox Code Playgroud)

但是 -o 循环选项在 osx 上不存在。

jan*_*öhr 58

hdiutil 是正确的方法,但一个关键因素是参数。

命令

hdiutil attach -imagekey diskimage-class=CRawDiskImage -nomount filename
Run Code Online (Sandbox Code Playgroud)

完美地将块文件挂载为块文件系统。之后,您可以像 Chris S 指出的那样安装任何 fs。

  • 以防万一有人卡在这里……这个命令会给你类似`/dev/disk1`的东西。你可以运行 `hdiutil mount /dev/disk1` 来实际查看里面的文件。它会打印出挂载点的位置,比如`/Volumes/Untitled` (25认同)