指南/磁碟無法退出

Mac無法退出外接磁碟機?如何找出是什麼在使用它

Atta 🐬

Vitals創辦人

發佈於

簡短回答

只要有任何程序在磁碟上打開了檔案或檔案夾,磁碟就無法退出。結束用過它的App,關閉停在它檔案夾中的「終端機」視窗,然後再試一次。如果還是不行,在「終端機」中執行sudo lsof /Volumes/NAME,列出佔用它的每個程序,然後結束它們。Spotlight和時光機會自己放手,通常在一分鐘內。「強制退出」是最後的手段,因為正在寫入的檔案可能會損壞。Vitals是一款Mac活動監視器和程序檢查器,會列出每個磁碟和在上面佔用檔案的App,你確認後,它的「結束並退出」會結束它們並退出磁碟。

如何用「終端機」找出是什麼在使用磁碟

  1. 01 打開「終端機」,它位於「應用程式」→「工具程式」。
  2. 02 輸入sudo lsof和一個空格,然後從Finder把磁碟拖到視窗中填入它的路徑,再按下Return。
  3. 03 輸入你的密碼。每一行是一個打開的檔案:第一欄是程序,第二欄是它的PID,最後一欄是檔案。
  4. 04 結束列表中的每個App。對於沒有視窗的程序,執行kill <PID>並加上它的PID。
  5. 05 在Finder中再次退出磁碟,或執行diskutil eject並加上同一個路徑。

如果列表是空的,磁碟卻還是退不出來,請等一分鐘再試:macOS可能正在完成寫入。mdutil -s加上磁碟的路徑,可以看出Spotlight是否開啟了對它的索引。

macOS拒絕退出正在使用的磁碟,是因為在程式使用中卸載它,可能會讓程式正在寫入的內容遺失。Finder中的訊息有時會寫出App名稱,但常常不會。下表列出常見的佔用者,以及讓它們放手的方法。

是什麼讓磁碟無法退出

佔用者如何判斷如何讓它放手
打開了文件的App App出現在lsof列表中,或Finder寫出了它的名稱 關閉文件,或結束App
「終端機」視窗 列表中有zsh之類的shell,FD欄位顯示cwd 在那個視窗中執行cd ~,或關閉它
Spotlight 列表中有mds或mds_stores 等待,或在「系統設定」→「Spotlight」→「搜尋隱私權」中加入該磁碟
時光機 列表中有backupd,或選單列顯示正在備份 等備份完成,或選擇「略過此備份」
快速查看或「預覽程式」 列表中有QuickLookUIService或Preview 關閉預覽,或結束「預覽程式」
磁碟上有「照片」或「音樂」資料庫 列表中有Photos、photolibraryd或Music 結束App,並給它的輔助程式幾秒鐘
從這個磁碟執行的App App本身的路徑在這個磁碟上 結束App

退出訊息是什麼意思

Finder會顯示兩種訊息之一。「磁碟未退出,因為有一或多個程式可能正在使用它」表示有某個程序在磁碟上打開了東西,而macOS沒說是哪個。知道是哪個App時,訊息會改為寫出它的名稱。兩種情況下,「再試一次」都是安全的,「強制退出」則不管打開了什麼都會卸載磁碟。

「強制退出」安全嗎?

「強制退出」會在程式還在使用時卸載磁碟。只是在讀取的檔案不會受損。正在寫入的檔案可能會不完整,打開中的「照片」、「音樂」或Final Cut資料庫,下次打開時可能需要修復。先找出佔用者,等它怎麼都不肯結束時再用,不要提早用。

用「磁碟工具程式」或diskutil退出

「磁碟工具程式」的「卸載」和「退出」遵循和Finder一樣的規則,有東西佔用磁碟時也會同樣失敗。在「終端機」中,diskutil eject /Volumes/NAME會退出磁碟,diskutil unmountDisk force /Volumes/NAME則會強制退出,風險和「強制退出」一樣。

看起來沒有東西在使用它時

登出再登入,這會結束你所有的App和輔助程式,然後再退出。如果這樣可行,就表示是某個背景輔助程式佔用了磁碟。如果還是不行,就將Mac關機,關機後再拔下磁碟:關機會安全地卸載每個磁碟。

如何避免這種情況

大多數退不出來的情況,都來自同樣幾個習慣。

  • 退出磁碟前,先結束在上面打開過檔案的App
  • 別讓「終端機」視窗停在磁碟的檔案夾中,或先關閉它們
  • 如果你從不搜尋這個磁碟,就把它加入Spotlight的「搜尋隱私權」
  • 拔下時光機備份磁碟前,先等備份完成

Vitals多了什麼

Vitals會指出是什麼佔用了磁碟,並替你退出它。

  • 「開發者」標籤頁中的「打開的檔案」:每個磁碟上打開了幾個檔案,以及「已使用」或「可以退出」
  • 磁碟底下是佔用它的每個App和程式,附上它工作所在的檔案夾和打開的檔案
  • 「結束並退出」:Vitals會列出App、詢問你,像⌘Q那樣結束它們,然後退出磁碟
  • Spotlight和時光機依正在做的事標示,在它們放手期間會再試一次

小提醒

  • Vitals不會強制退出。如果有App不肯結束,它會說明是哪個,並讓磁碟保持裝載。
  • 沒有「完整系統指標」時,macOS自己的程序所打開的檔案不會列出,Vitals會說明略過了幾個。
  • 「打開的檔案」在視窗中,不在選單列下拉式面板中。
購買Vitals $29 在首發期間以$29終身使用,之後為$49,一次付清,14天內可退款。或一年更新$15。

大家常問的問題

為什麼我的Mac說磁碟未退出,因為有一或多個程式可能正在使用它?

還有程序在磁碟上打開了檔案或檔案夾。可能是某個App、「終端機」視窗、Spotlight或時光機。執行sudo lsof /Volumes/NAME就能看出是哪個。

如何在Mac上找出是哪個程式在使用我的外接磁碟機?

在「終端機」中執行sudo lsof /Volumes/NAME。每一行是一個程序,以及它在磁碟上打開的一個檔案。Vitals會在「打開的檔案」中依App顯示同樣的內容。

在Mac上強制退出磁碟安全嗎?

只有在沒有東西寫入時才安全。「強制退出」可能會讓檔案不完整,或讓資料庫需要修復。先找出佔用者並結束它。

我可以直接拔掉磁碟機嗎?

裝載中時不行。macOS可能還在寫入,磁碟之後可能需要修復。先退出它,或先將Mac關機。

為什麼Spotlight在使用我的外接磁碟機?

Spotlight會為磁碟製作索引,好讓它可以被搜尋。它會自己完成。若要永久停止,請在「系統設定」→「Spotlight」→「搜尋隱私權」中加入該磁碟。

有沒有能顯示是什麼讓磁碟無法退出的App?

Vitals就可以。它的「打開的檔案」區塊會列出每個磁碟和在上面佔用檔案的App,「結束並退出」會在確認後結束它們並退出磁碟。

詞彙表中的相關條目

更多指南