如何在 OSX 中挂载 HFS+ dd 映像?

Pau*_*lan 15 mount hfs hard-drive disk-image macos

我有一个 HFS+ 格式的驱动器,它坏了,根本无法安装在 OSX 上。我在 linux 上使用 ddrescue 创建了一个图像,并且能够保存大部分图像。

我可以使用以下方法安装驱动器并在 linux 中很好地查看数据:

mount -o loop -t hfsplus dd_image mountpoint
Run Code Online (Sandbox Code Playgroud)

这在我的 OSX 系统上不起作用,因为 hfsplus 不是有效的文件系统类型。如果我尝试:

mount -t hfs image mountpoint
Run Code Online (Sandbox Code Playgroud)

它抱怨它需要一个块设备。这里有什么解决办法?

小智 15

我确认 quack quixote 的最新评论:该diskimage-class=CRawDiskImage设置允许dd挂载创建的图像:

hdiutil attach -imagekey diskimage-class=CRawDiskImage image-file-name
Run Code Online (Sandbox Code Playgroud)

PS 我把它复制到这里以增加可见性。


qua*_*ote 9

唔。根据一个消息来源,您需要hdiutil(OSX hdiutil 联机帮助页),如

hdiutil attach -readonly cdimage.iso
Run Code Online (Sandbox Code Playgroud)

您尝试执行的操作称为“环回安装”,即通过loop device 进行安装。根据维基百科的文章:

Mac OS X 实现了本机映像挂载机制,作为其随机访问磁盘设备抽象的一部分。这些设备作为常规磁盘设备出现在 /dev 中;对这些设备的读取和写入被发送到用户模式帮助进程,该进程从文件读取数据或将其写入文件。在用户界面中,它会通过打开磁盘映像自动激活。它可以处理各种格式的磁盘、CD-ROM 或 DVD 映像。

这向我表明您的 OSX 系统需要将您的图像识别为有效的 HFS 图像。根据您创建它的方式(您dd是分区还是整个驱动器?),您可以双击图像文件,或者您可能需要为文件提供正确的文件扩展名(.iso 或 .img,也许)。在 Linux 上,您可以使用该losetup命令将映像文件与/dev/loop0 之类的设备相关联(mount -o loop为您执行此操作,但 OS X 的安装手册页未指示任何类似选项)。

  • @paul:手册页给出了“强制附加已知图像”的示例:**hdiutil attach -imagekey diskimage-class=CRawDiskImage image-file-name** (5认同)