关键不是删文件而是断开逻辑连接,需先用mount | grep "/volumes/"识别残留挂载点,再依类型用hdiutil detach或diskutil unmount force卸载,随后sudo rmdir或rm -rf清除/volumes/下空目录,并清理finder挂载记录。

卸载未使用的虚拟磁盘映像挂载点,关键不是删文件,而是断开系统对它的逻辑连接。很多用户误以为关掉 Finder 窗口或拖走图标就卸载了,其实挂载状态仍在后台运行,导致 /Volumes/ 下残留空目录、空间不释放、甚至后续挂载异常。
先确认哪些挂载点是“活着但没用”的
打开终端,执行:
mount | grep "/Volumes/"
输出里每行形如 /dev/disk2 on /Volumes/Ubuntu-Dev (hfs, local, nodev, nosuid) 的条目,就是当前挂载的虚拟卷。重点看两点:一是路径是否对应你早已不用的虚拟机名、DMG 名或测试镜像名;二是括号里有没有 read-only 或 noexec ——这类常是已关闭虚拟机却未清理的残留。
再补查一次:ls /Volumes/,对比哪些目录在列表里但 Finder 中看不到图标、双击打不开、也无内容,基本就是挂载点“僵尸”。
用 hdiutil 或 diskutil 安全断开
区分类型操作更稳妥:
- 如果是 .dmg/.iso 等镜像挂载(比如 Parallels、双击安装包生成的):
hdiutil detach "/Volumes/卷名称"(引号不能省,含空格也要保留) - 如果是虚拟机软件(VMware Fusion、VirtualBox)创建的虚拟硬盘挂载:
diskutil unmount force /dev/diskXsY(先用 diskutil list 找到对应设备节点,如 disk3s1) - 想一次清掉所有用户级挂载(不含系统盘):
hdiutil detach -force $(mount | grep "/Volumes/" | awk '{print $3}')(执行前请确保没程序正在读写这些卷)
删干净挂载路径和残留记录
卸载成功后,/Volumes/ 下对应目录可能还在——它只是个空壳,但会干扰下次挂载:
- 执行:sudo rmdir "/Volumes/卷名称"(若提示 not empty,改用 sudo rm -rf)
- 检查 Finder 是否还记着旧挂载名:defaults read com.apple.finder | grep -i volume,如有 FXConnectedVolumes 等键,运行 defaults delete com.apple.finder FXConnectedVolumes
- 重启 Finder:按住 Option 键右键 Dock 中 Finder 图标 → “重新启动”
预防下次再留尾巴
日常习惯比事后清理更重要:
- 虚拟机关机前,先在 Guest 系统里“安全弹出”共享文件夹或虚拟光驱
- DMG 用完立刻右键推出(访达边栏或桌面图标),别只关窗口
- 频繁使用镜像的用户,装个 Mounty 工具,右键一键卸载全部
- 虚拟机软件设置里关掉“开机自动恢复”或“挂起时保存状态”,避免休眠文件堆积











