Как исправить: The volume can't be ejected because it's currently in use
После использования внешнего жёсткого диска (дальше просто - диск) Я собирался размонтировать его, но к моему удивлению при нажатии на кнопку ‘eject’ Finder показал мне следующее сообщение об ошибке:
The volume can't be ejected because it's currently in use.
The disk "Elements" wasn't ejected because one or more programs may be using it.
Для постоянных пользователей рекомендую к прочтению другую статью об этой проблеме. Она описывает, как сделать почти то же самое, используя приложение Activity Monitor, вместо использования команд в Terminal. А эта статья предназначена для опытных пользователей (когда причиной не является процесс “QuickLookUI”) и/или для удовольствия кодера
После нескольких попыток Я попытался использовать команду umount
в приложении Terminal и получил ту же ошибку:
$ umount /Volumes/Elements umount(/Volumes/Diskname): Resource busy -- try 'diskutil unmount'
И то же самое с командой diskutil unmount
которая рекомендуется в предыдущем сообщении об ошибке:
$ diskutil unmount /Volumes/Elements Volume Elements on disk4s1 failed to unmount: dissented by PID 16314 (/System/Library/Frameworks/Quartz.framework/Versions/A/Frameworks/QuickLookUI.framework/Versions/A/XPCServices/QuickLookUIService.xpc/Contents/MacOS/QuickLookUIService)
Что вызывает эту ошибку
Это сообщение об ошибке говорит само за себя. Оно означает то, что мы пытаемся извлечь диск, который используется в настоящее время. Если у нас есть какой-либо файл хранящийся на диске и открытый в каком-либо приложении то, macOS может помешать нам извлечь диск для того, чтобы мы не потеряли наши данные. Если это происходит то, нам просто нужно закрыть файл и снова попытаться извлечь диск. Но Я уверен в том, что не запустил ни одно приложение и не открыл ни один файл с диска.
В некоторых случаях, macOS даёт нам возможность сделать “force-eject” диска, но мы всё ещё можем потерять данные, поэтому принудительное извлечение не является разумным.
Что я имею:
- Drive: WD Elements Portable 1Tb
- OS: macOS High Sierra 10.13.1
- Computer: MacBook Air 11-inch (2014)
Как это решить
Сначала Я нашёл эту статью на вебсайте Apple Support, но к сожалению она не помогла. Вкратце, в ней предлагается сделать “logout” (разлогинится), затем “login” (залогиниться) снова и попытаться извлечь диск. А если вы всё ещё не можете извлечь диск, она предлагает выключить компьютер, а затем отсоеденить диск…
Поскольку я нахожусь в процессе выполнения нескольких разных задач, то выход и вход в систему не является предпочтительным так же, как и установка стороннего программного обеспечения, такого как What’s Keeping Me? или Why not unmount?. Я предпочитаю безопасное размонтирование диска. Поэтому мне нужно найти решение самому.
Насколько Я знаю, Я не использую диск, но Finder сообщает мне о том что Я это делаю, так что возможно Я ошибаюсь. Теперь мне нужно узнать, какое приложение использует мой диск для того, чтобы Я мог правильно закрыть это приложение и извлечь мой диск. Чтобы решить эту проблему, мы будем использовать приложение Terminal и несколько консольных инструментов. Все инструменты встроены в macOS, поэтому нам не нужно ничего скачивать или устанавливать. Давайте начнём!
Запустите приложение Terminal из папки Utilities вашей папки Applications или используйте Spotlight чтобы найти его.
Для начала нам нужно найти правильное имя нашего диска:
ls /Volumes/
Elements Macintosh HD
“Macintosh HD” это встроенный накопитель MacBook, а “Elements” мой внешний жёсткий диск. Итак, в моем случае название диска - “Elements”. В вашем случае название диска будет другим.
Приведённые ниже команды предполагают то, что это Elements
, но замените Elements
правильным именем диска, если у вас оно другое.
Теперь давайте выясним, какой системный процесс использует наш диск. Для этого мы используем инструмент lsof
.
sudo lsof | grep /Volumes/Elements
Мы должны запустить приведённую выше команду с
sudo
(как Администратор). Для этого нам нужно ввести наш пароль при появлении запроса.
Примечание! Не забудьте заменить “Elements” на название вашего диска перед нажатием Enter.
Введите пароль после запроса, а затем наблюдайте волшебство…
mds 83 root 21r DIR 1,15 288 2 /Volumes/Elements mds 83 root 22r DIR 1,15 288 2 /Volumes/Elements mds 83 root 24r DIR 1,15 2208 21 /Volumes/Elements/.Spotlight-V100/Store-V2/C59C29F8-4296-456C-B45B-CBD4AF706C35 mds 83 root 25r DIR 1,15 288 2 /Volumes/Elements mds 83 root 27u REG 1,15 0 72 /Volumes/Elements/.Spotlight-V100/Store-V2/C59C29F8-4296-456C-B45B-CBD4AF706C35/journalExclusion mds_store 252 root txt REG 1,15 24 620 /Volumes/Elements/.Spotlight-V100/Store-V2/C59C29F8-4296-456C-B45B-CBD4AF706C35/0.indexDates mds_store 252 root txt REG 1,15 10 621 /Volumes/Elements/.Spotlight-V100/Store-V2/C59C29F8-4296-456C-B45B-CBD4AF706C35/0.indexGroups mds_store 252 root txt REG 1,15 8 627 /Volumes/Elements/.Spotlight-V100/Store-V2/C59C29F8-4296-456C-B45B-CBD4AF706C35/0.indexCompactDirectory mds_store 252 root txt REG 1,15 2056 626 /Volumes/Elements/.Spotlight-V100/Store-V2/C59C29F8-4296-456C-B45B-CBD4AF706C35/0.indexDirectory mds_store 252 root txt REG 1,15 8192 588 /Volumes/Elements/.Spotlight-V100/Store-V2/C59C29F8-4296-456C-B45B-CBD4AF706C35/live.0.indexCompactDirectory mds_store 252 root txt REG 1,15 13108 582 /Volumes/Elements/.Spotlight-V100/Store-V2/C59C29F8-4296-456C-B45B-CBD4AF706C35/live.0.indexGroups mds_store 252 root txt REG 1,15 16448 587 /Volumes/Elements/.Spotlight-V100/Store-V2/C59C29F8-4296-456C-B45B-CBD4AF706C35/live.0.indexDirectory mds_store 252 root txt REG 1,15 96 619 /Volumes/Elements/.Spotlight-V100/Store-V2/C59C29F8-4296-456C-B45B-CBD4AF706C35/0.indexIds mds_store 252 root txt REG 1,15 32768 581 /Volumes/Elements/.Spotlight-V100/Store-V2/C59C29F8-4296-456C-B45B-CBD4AF706C35/live.0.indexDates mds_store 252 root txt REG 1,15 65536 630 /Volumes/Elements/.Spotlight-V100/Store-V2/C59C29F8-4296-456C-B45B-CBD4AF706C35/0.directoryStoreFile mds_store 252 root txt REG 1,15 72256 628 /Volumes/Elements/.Spotlight-V100/Store-V2/C59C29F8-4296-456C-B45B-CBD4AF706C35/0.indexArrays mds_store 252 root txt REG 1,15 131072 57 /Volumes/Elements/.Spotlight-V100/Store-V2/C59C29F8-4296-456C-B45B-CBD4AF706C35/reverseDirectoryStore mds_store 252 root txt REG 1,15 131072 580 /Volumes/Elements/.Spotlight-V100/Store-V2/C59C29F8-4296-456C-B45B-CBD4AF706C35/live.0.indexIds mds_store 252 root txt REG 1,15 131072 591 /Volumes/Elements/.Spotlight-V100/Store-V2/C59C29F8-4296-456C-B45B-CBD4AF706C35/live.0.directoryStoreFile mds_store 252 root txt REG 1,15 2097152 584 /Volumes/Elements/.Spotlight-V100/Store-V2/C59C29F8-4296-456C-B45B-CBD4AF706C35/live.0.indexTermIds mds_store 252 root txt REG 1,15 2097152 586 /Volumes/Elements/.Spotlight-V100/Store-V2/C59C29F8-4296-456C-B45B-CBD4AF706C35/live.0.indexPositionTable mds_store 252 root txt REG 1,15 4194304 589 /Volumes/Elements/.Spotlight-V100/Store-V2/C59C29F8-4296-456C-B45B-CBD4AF706C35/live.0.indexArrays mds_store 252 root 27r DIR 1,15 2208 21 /Volumes/Elements/.Spotlight-V100/Store-V2/C59C29F8-4296-456C-B45B-CBD4AF706C35 mds_store 252 root 42r REG 1,15 72256 628 /Volumes/Elements/.Spotlight-V100/Store-V2/C59C29F8-4296-456C-B45B-CBD4AF706C35/0.indexArrays mds_store 252 root 44r DIR 1,15 2208 21 /Volumes/Elements/.Spotlight-V100/Store-V2/C59C29F8-4296-456C-B45B-CBD4AF706C35 mds_store 252 root 65u REG 1,15 28 28 /Volumes/Elements/.Spotlight-V100/Store-V2/C59C29F8-4296-456C-B45B-CBD4AF706C35/indexState mds_store 252 root 66u REG 1,15 593920 55 /Volumes/Elements/.Spotlight-V100/Store-V2/C59C29F8-4296-456C-B45B-CBD4AF706C35/store.db mds_store 252 root 67u REG 1,15 593920 56 /Volumes/Elements/.Spotlight-V100/Store-V2/C59C29F8-4296-456C-B45B-CBD4AF706C35/.store.db mds_store 252 root 68r REG 1,15 8 627 /Volumes/Elements/.Spotlight-V100/Store-V2/C59C29F8-4296-456C-B45B-CBD4AF706C35/0.indexCompactDirectory mds_store 252 root 69u REG 1,15 4096 618 /Volumes/Elements/.Spotlight-V100/Store-V2/C59C29F8-4296-456C-B45B-CBD4AF706C35/0.indexHead mds_store 252 root 70u REG 1,15 96 619 /Volumes/Elements/.Spotlight-V100/Store-V2/C59C29F8-4296-456C-B45B-CBD4AF706C35/0.indexIds mds_store 252 root 71u REG 1,15 24 620 /Volumes/Elements/.Spotlight-V100/Store-V2/C59C29F8-4296-456C-B45B-CBD4AF706C35/0.indexDates mds_store 252 root 72r REG 1,15 1694 622 /Volumes/Elements/.Spotlight-V100/Store-V2/C59C29F8-4296-456C-B45B-CBD4AF706C35/0.indexPostings mds_store 252 root 79r REG 1,15 2056 626 /Volumes/Elements/.Spotlight-V100/Store-V2/C59C29F8-4296-456C-B45B-CBD4AF706C35/0.indexDirectory mds_store 252 root 99u REG 1,15 65536 630 /Volumes/Elements/.Spotlight-V100/Store-V2/C59C29F8-4296-456C-B45B-CBD4AF706C35/0.directoryStoreFile mds_store 252 root 103u REG 1,15 4096 579 /Volumes/Elements/.Spotlight-V100/Store-V2/C59C29F8-4296-456C-B45B-CBD4AF706C35/live.0.indexHead mds_store 252 root 106u REG 1,15 131072 580 /Volumes/Elements/.Spotlight-V100/Store-V2/C59C29F8-4296-456C-B45B-CBD4AF706C35/live.0.indexIds mds_store 252 root 108u REG 1,15 13108 582 /Volumes/Elements/.Spotlight-V100/Store-V2/C59C29F8-4296-456C-B45B-CBD4AF706C35/live.0.indexGroups mds_store 252 root 109u REG 1,15 2097152 583 /Volumes/Elements/.Spotlight-V100/Store-V2/C59C29F8-4296-456C-B45B-CBD4AF706C35/live.0.indexPostings mds_store 252 root 110u REG 1,15 2097152 584 /Volumes/Elements/.Spotlight-V100/Store-V2/C59C29F8-4296-456C-B45B-CBD4AF706C35/live.0.indexTermIds mds_store 252 root 111u REG 1,15 8388608 585 /Volumes/Elements/.Spotlight-V100/Store-V2/C59C29F8-4296-456C-B45B-CBD4AF706C35/live.0.indexPositions mds_store 252 root 112u REG 1,15 2097152 586 /Volumes/Elements/.Spotlight-V100/Store-V2/C59C29F8-4296-456C-B45B-CBD4AF706C35/live.0.indexPositionTable mds_store 252 root 113u REG 1,15 16448 587 /Volumes/Elements/.Spotlight-V100/Store-V2/C59C29F8-4296-456C-B45B-CBD4AF706C35/live.0.indexDirectory mds_store 252 root 114u REG 1,15 8192 588 /Volumes/Elements/.Spotlight-V100/Store-V2/C59C29F8-4296-456C-B45B-CBD4AF706C35/live.0.indexCompactDirectory mds_store 252 root 115u REG 1,15 4194304 589 /Volumes/Elements/.Spotlight-V100/Store-V2/C59C29F8-4296-456C-B45B-CBD4AF706C35/live.0.indexArrays mds_store 252 root 116u REG 1,15 131072 591 /Volumes/Elements/.Spotlight-V100/Store-V2/C59C29F8-4296-456C-B45B-CBD4AF706C35/live.0.directoryStoreFile QuickLook 16314 arthur 3r REG 1,15 2283237221 3207 /Volumes/Elements/PATH/TO/FILE/filename.mov
Вывод команды может показаться сложным в понимании, но это не так. В первом столбце указан запущенный процесс, а в последнем столбце указан файл на нашем диске, который используется в данный момент. В моём случае запущено три процесса: mds
, mds_store
и QuickLook
. А также используется скрытая папка .Spotlight-V100
и файл filename.mov
. Итак, теперь Я знаю, что мешает мне извлечь мой диск.
Процессы mds
и mds_store
связаны с Spotlight. Вы можете узнать больше об этом здесь. Запуск этих процессов означает то, что Spotlight в настоящее время индексирует наш диск. Мы можем оставить диск включенным на некоторое время, чтобы Spotlight мог закончить свою работу, или же мы можем принудительно остановить процесс.
Процесс QuickLook
это функция, которая была представлена в Mac OS X 10.5 Leopard. Вы можете узнать больше об этом здесь. Я заметил то, что когда Я использую функцию Quicklook для предпоказа видео в любом формате, то процесс остаётся активным даже когда окно Quicklook было уже закрыто. Если Я предпросмотрю любой другой файл, такой как PDF или JPG, диск может быть извлечён нормально. Почему Quicklook не позволяет мне извлечь мой диск? Я подозреваю то, что это просто ошибка.
Как только мы узнали, какой процесс мешает нам извлечь наш диск, мы можем заставить его остановиться. Для этого мы используем инструмент killall
.
sudo killall mds
Мы должны запустить приведённую выше команду с
sudo
(как Админ). Для этого нам нужно ввести наш пароль при появлении запроса.
Примечание! Не забудьте заменить “mds” на имя процесса, который вы хотите остановить перед нажатием Enter.
Также мы можем сделать это с помощью Activity Monitor.
В заключение выполните следующую команду для того, чтобы размонтировать диск, заменив “Elements” на действительое имя вашего диска.
diskutil unmount /Volumes/Elements
Volume Elements on disk4s1 unmounted
Готово! Теперь наш диск должен быть извлечён безопасно.
Если у вас возникают проблемы в устранении этой проблемы с помощью приведенной выше инструкции, но вы смогли решить эту проблему любым другим способом, пожалуйста, опишите его в разделе комментариев ниже. Спасибо!
Если эта статья помогла вам решить проблему, пожалуйста, оставьте комментарий
Спасибо за прочтение!
Arthur is a designer and full stack software engineer. He is the founder of Space X-Chimp and the blog My Cyber Universe. His personal website can be found at arthurgareginyan.com.