Mac上DMG虚拟磁盘右键“推出”无反应时,需用终端命令强制卸载:先用mount | grep "/Volumes/"确认挂载状态,再用hdiutil detach "/Volumes/卷名称"卸载;若提示“Resource busy”,则用lsof +D查占用进程并关闭后重试;终极方案是sudo launchctl kickstart -k system/com.apple.diskarbitrationd重启磁盘仲裁服务。

Mac上DMG虚拟磁盘右键“推出”无反应、图标灰显或提示“设备忙”,说明挂载已脱离访达控制,必须绕过图形界面强制解除绑定。
先确认挂载状态是否真实存在
打开终端,执行:mount | grep "/Volumes/" → 观察输出中是否有形如 /dev/disk3 on /Volumes/Zoom (hfs, local, ...) 的条目。若无任何输出,说明该卷实际已卸载,桌面图标只是残留视觉假象,可跳过后续步骤直接刷新桌面(Command + R)或重启访达(右键Dock中访达图标→“重新开启”)。
若有输出,记下括号前的完整路径,例如 /Volumes/Zoom —— 这就是待卸载的目标挂载点。
用hdiutil强制分离卡死的挂载
在终端中输入命令:hdiutil detach "/Volumes/卷名称",将“卷名称”替换为你上一步查到的实际名称(注意保留引号,含空格也必须引起来)。
如果返回 hdiutil: detach failed - Resource busy,说明有进程正占用该卷。此时不要强行加 -force,先执行:lsof +D "/Volumes/卷名称" → 查看哪些进程在读写它。常见罪魁是Finder预览窗、QuickLook、Spotlight索引或未关闭的安装器窗口。关闭对应应用后重试原卸载命令。
【关键前提:执行前务必关闭所有可能访问该卷的程序,包括Finder中打开的该卷窗口、预览中的.dmg内文件、甚至Safari里正在查看的安装说明网页】
批量清理全部用户级挂载(慎用)
方法一:逐个卸载更安全
重复执行 hdiutil detach "/Volumes/XXX",每次换一个实际卷名。
方法二:一键清空(仅限确认无任何程序依赖时)
运行:hdiutil detach -force $(mount | grep "/Volumes/" | awk '{print $3}') → 该命令会提取所有匹配挂载点并强制卸载。
【警告:此操作不可逆,若某卷正被Time Machine备份或软件更新写入,可能导致数据损坏】
终极方案:重启系统级挂载服务
若上述全部失败,且终端报错为 Operation not permitted 或 Not mounted 却图标仍在,说明挂载元数据已损坏。此时执行:
第一步:sudo launchctl kickstart -k system/com.apple.diskarbitrationd
第二步:等待5秒 → 再次运行 mount | grep "/Volumes/" 确认残留项是否消失
第三步:若仍有残留,再执行一次 hdiutil detach 命令
这一步会重启磁盘仲裁守护进程,清除内核中异常驻留的挂载注册表,比单纯重启Mac更快见效。

















