macOS 中 mount 命令不能直接挂载磁盘映像,必须使用 hdiutil;hdiutil attach 可自动挂载 .dmg/.iso 到 /Volumes/ 卷名,支持静默、只读及指定路径;卸载应统一用 hdiutil detach。

在 macOS 中,mount 命令本身不直接支持挂载磁盘映像(如 .dmg、.iso 文件),它主要用于挂载已识别的块设备(如 /dev/disk2s1)。真正用于挂载磁盘映像的是 hdiutil 命令 —— 这是 macOS 官方推荐且最可靠的方式。
用 hdiutil 挂载磁盘映像(推荐方式)
hdiutil 是 macOS 内置的磁盘映像工具,能自动处理挂载点创建、权限适配和后台服务注册。基本用法如下:
- 挂载到默认位置(/Volumes/ 卷名):
hdiutil attach /path/to/image.dmg - 指定挂载路径(需提前创建空目录):
mkdir -p /tmp/mymount && hdiutil attach /path/to/image.dmg -mountpoint /tmp/mymount - 静默挂载(不弹出 Finder 窗口):
hdiutil attach -quiet /path/to/image.dmg - 只读挂载(适用于防止误写):
hdiutil attach -readonly /path/to/image.dmg
mount 命令能挂载磁盘映像吗?
不能直接挂载。执行 mount -t hfs /path/to/image.dmg /mnt 会失败,因为 mount 不解析映像文件格式,它需要一个已由内核识别的块设备节点(如 /dev/diskXsY)。但你可以分两步间接实现:
- 先用
hdiutil attach -imagekey diskimage-class=CRawDiskImage加载映像并获取设备路径(如/dev/disk5) - 再用
mount -t hfs /dev/disk5s1 /mnt挂载其中某个分区(需确认文件系统类型和分区号) - 这种方式绕过
hdiutil的自动管理,容易出错,一般仅用于调试或特殊场景
卸载磁盘映像的正确方法
无论用 hdiutil attach 还是 mount,都应优先使用 hdiutil detach 卸载,而非 umount:
- 卸载指定挂载点:
hdiutil detach /Volumes/MyVolume - 卸载对应设备(如挂载时输出为
/dev/disk4):hdiutil detach /dev/disk4 - 强制卸载(谨慎使用):
hdiutil detach -force /Volumes/MyVolume - 用
umount可能残留设备连接,导致后续hdiutil detach失败或 Finder 中图标不消失
常见路径与权限注意事项
挂载路径需满足以下条件才能成功:
- 指定的挂载点(如
/tmp/mymount)必须是已存在的空目录,且当前用户有读写权限 - 不要用
/mnt或/media—— macOS 默认不创建这些目录,也不将其纳入自动管理范围 - 避免挂载到用户主目录下非标准位置(如
~/mount),部分 GUI 应用可能无法识别 - 若提示“Resource busy”,检查是否已有同名卷挂载,或该路径被其他进程占用(可用
lsof +D /path查看)






























