Mac 上外置磁盘提示"正在使用中"无法弹出怎么办?
从终端入手,找出占用外置磁盘的进程,安全卸载并弹出磁盘的完整排查步骤。
快速开始
只要还有进程在磁盘上打开着文件,macOS 就会拒绝弹出。本指南带你一步步确认是哪块盘、释放占用它的程序,并在终端中安全弹出——不丢数据,也不用直接拔线。
症状
先确认是哪块盘、挂载在哪
弹出失败时,先弄清楚到底哪块盘弹不出去。列出所有已连接的磁盘,可以看到设备节点(如 disk2s1)和 macOS 使用的 /Volumes 名称。如果卷在这里显示正常,但 Finder 提示"正在使用中",说明是有进程占用了它,而不是硬件出了问题。
一条命令在终端里查看所有内置和外置磁盘、分区以及对应的 /Volumes 名称。
$ diskutil list查看卷的挂载状态和设备节点
查看卷的详细信息,可以确认它当前是否处于挂载状态、对应的设备节点以及文件系统类型。记下设备标识符——如果稍后卸载失败需要强制弹出,会用到它。如果信息显示卷仍处于已挂载状态,说明问题出在软件层面。
一条命令获取任意卷的设备节点、文件系统、SMART 健康状态和 APFS 角色。
$ diskutil info /Volumes/Macintosh\ HD退出可能占用文件的程序
"磁盘正在使用"最常见的原因是某个程序在该卷上打开了文档或缓存——一旦程序卡死,它会一直占着不放。按名称强制退出该程序即可释放占用。如果是视频剪辑软件、下载工具或卡死的程序占用了磁盘,退出后通常就能立即弹出。之后需要的话再重新打开该程序。
应用卡死、彩球转圈、连强制退出窗口都点不动时,用 killall 在终端按名称直接结束它。
$ killall Safari▾ 撤销
$ open -a Safari关闭该卷的 Spotlight 索引
Spotlight 的索引进程(mds 和 mdworker)会持续扫描新挂载的磁盘,即使你早已不再使用,卷也可能一直处于忙碌状态。为该卷关闭索引后即可释放。如果以后需要在 Finder 中搜索这块盘,随时可以重新开启索引。
对从不搜索的硬盘节省 CPU 和磁盘写入。
$ sudo mdutil -i off /Volumes/工作盘▾ 撤销
$ sudo mdutil -i on /Volumes/工作盘先尝试正常卸载
diskutil unmount 只卸载卷而不给硬盘断电,比直接弹出更温和。在占用进程释放后,这一步通常就能成功。如果卸载成功,说明数据已经安全,只是硬盘还连着。如果仍然提示"卷正在使用",就继续下一步强制弹出。
外置硬盘的卷没挂载上?用 diskutil 的 mount/unmount 重新挂载,或在不弹出的情况下卸载。
$ diskutil mount /Volumes/MyUSB▾ 撤销
$ diskutil unmount /Volumes/MyUSB在终端强制弹出
如果 Finder 一直弹出失败,改用命令行弹出整块磁盘。diskutil eject 会先刷新缓冲区再断开磁盘,相当于 Finder 弹出功能的终端版本,而且在 Finder 对话框卡住时依然有效。如果要让整块硬盘断开,请对整个设备(如 disk2)执行,而不是单个分区。
diskutil eject 会刷新缓存并卸载磁盘,等同于访达里的“推出”,终端即可完成。
$ diskutil eject /Volumes/MyUSB改用 hdiutil detach
如果 diskutil 仍提示磁盘忙碌,可以试试更底层的 hdiutil detach,它对外置硬盘和已挂载的磁盘镜像都有效。尤其是当卷是通过磁盘镜像挂载而非普通外置盘时,diskutil 无能为力的情况下它往往能成功。
在命令行安全卸载并推出外置硬盘、U 盘和镜像卷。
$ hdiutil detach "/Volumes/MyUSB"一键弹出所有可弹出的磁盘,做最后排查
如果挂载了多个卷、不确定是哪个卡住了,可以用一条命令让 Finder 弹出所有可弹出的磁盘。从桌面消失的卷说明已成功弹出,剩下的那个就是仍被占用的——回到上一步,找出并退出占用它的程序。
一步安全卸载所有可推出卷:U 盘、SD 卡、DMG 镜像等。
$ osascript -e 'tell application "Finder" to eject (every disk whose ejectable is true)'如何确认已解决
卷从桌面和 diskutil 的输出中消失,/Volumes 下对应的挂载点也不存在了。
一键全部撤销
上面每一条命令都可以撤销。按此顺序执行即可全部还原。
$ diskutil unmount /Volumes/MyUSB
sudo mdutil -i on /Volumes/工作盘
open -a Safari执行前请先确认——部分步骤之间可能并非相互独立。
来源
- DISKUTIL(8) - macOS manual page依据: The manual page text contains 'diskutil list' describing it as listing disks with their partitions and identifiers such as disk0s1.
- diskutil - Modify, verify and repair local disks依据: Documents the diskutil command with 'list' as its first documented verb for listing disks, including the 'diskutil list' syntax shown on the page.
- macOS osascript command reference依据: osascript runs AppleScript from the Terminal; Finder's eject command safely unmounts every ejectable disk.
- About Files and Directories依据: Apple's file-system programming guide covering volumes, mount points, and macOS storage layout.
- killall - kill processes by name依据: Documents killall for terminating processes by name, including sudo usage for other users' processes.
- Quit an app on Mac依据: Apple's guidance on quitting unresponsive apps, confirming the everyday need killall addresses from the command line.
- mdutil – Manage Spotlight indexes依据: Documents -i on/off, -E erase, and per-volume status
- hdiutil – Create and manipulate disk images依据: hdiutil detach unmounts and ejects a volume identified by its mount point or device node.
最后验证: 2026-09-21