Як виправити: 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.