Посібники/Диск не вилучається

Mac не вилучає зовнішній диск? Як знайти, що його використовує

Atta 🐬

Засновник Vitals

Опубліковано

Коротка відповідь

Диск не вилучається, поки будь-який процес має на ньому відкритий файл чи папку. Завершіть програми, що ним користувалися, закрийте вікна Термінала, відкриті в його папках, і спробуйте ще раз. Якщо не допомогло, виконайте sudo lsof /Volumes/NAME у Терміналі, щоб побачити кожен процес, що його тримає, і завершіть їх. Spotlight і Time Machine відпускають диск самі, зазвичай протягом хвилини. «Примусово вилучити» — крайній захід, бо файл, що записується, може пошкодитися. Vitals, монітор активності й інспектор процесів для Mac, показує кожен диск із програмами, що тримають на ньому файли, а його «Завершити й вилучити» завершує їх і вилучає диск після вашого підтвердження.

Як знайти в Терміналі, що використовує диск

  1. 01 Відкрийте Термінал у папці Програми → Утиліти.
  2. 02 Введіть sudo lsof і пробіл, потім перетягніть диск із Finder у вікно, щоб підставити його шлях, і натисніть Return.
  3. 03 Введіть свій пароль. Кожен рядок — один відкритий файл: перший стовпець — процес, другий — його PID, а останній — файл.
  4. 04 Завершіть кожну програму зі списку. Для процесу без вікна виконайте kill <PID> з його PID.
  5. 05 Знову вилучіть диск у Finder або виконайте diskutil eject з тим самим шляхом.

Якщо список порожній, а диск усе одно не вилучається, зачекайте хвилину й спробуйте ще раз: macOS може дописувати дані. mdutil -s зі шляхом до диска покаже, чи ввімкнено для нього індексування Spotlight.

macOS відмовляється вилучати диск, що використовується, бо демонтування з-під програми може знищити те, що вона записувала. Повідомлення у Finder іноді називає програму, а часто ні. У таблиці нижче — звичні причини і що змушує кожну з них відпустити диск.

Що не дає вилучити диск

Що його тримаєЯк розпізнатиЯк змусити відпустити
Програма з відкритим документом Програма є у списку lsof, або Finder її називає Закрийте документ або завершіть програму
Вікно Термінала Оболонка, як-от zsh, у списку, з cwd у стовпці FD Виконайте cd ~ у цьому вікні або закрийте його
Spotlight mds або mds_stores у списку Зачекайте або додайте диск у Системні параметри → Spotlight → «Приватність пошуку»
Time Machine backupd у списку або резервне копіювання, що триває, у смузі меню Дочекайтеся завершення резервного копіювання або виберіть «Пропустити це резервне копіювання»
Швидкий перегляд або Перегляд QuickLookUIService або Preview у списку Закрийте швидкий перегляд або завершіть Перегляд
Бібліотека Фотографій чи Музики на диску Photos, photolibraryd або Music у списку Завершіть програму і дайте її помічникам кілька секунд
Програма, що запущена з диска Шлях самої програми веде на цей диск Завершіть програму

Що означає повідомлення про вилучення

Finder показує одне з двох повідомлень. «Диск не вилучено, оскільки одна або кілька програм можуть його використовувати» означає, що якийсь процес має щось відкрите на диску, а macOS не каже, який саме. Коли macOS знає програму, повідомлення називає її. В обох випадках «Повторити спробу» безпечно, а «Примусово вилучити» демонтує диск, хоч би що на ньому було відкрито.

Чи безпечно «Примусово вилучити»?

«Примусово вилучити» демонтує диск з-під програм, які його використовують. Файлам, які лише читалися, це не шкодить. Файл, що записувався, може залишитися неповним, а відкриту бібліотеку Фотографій, Музики чи Final Cut може знадобитися відновлювати, коли ви відкриєте її наступного разу. Користуйтеся цим, коли вже знайшли, що тримає диск, і воно не завершується, не раніше.

Вилучення через Дискову утиліту або diskutil

«Демонтувати» й «Вилучити» в Дисковій утиліті діють за тим самим правилом, що й Finder, і так само не спрацьовують, поки щось тримає диск. У Терміналі diskutil eject /Volumes/NAME вилучає диск, а diskutil unmountDisk force /Volumes/NAME робить це примусово, з тим самим ризиком, що й «Примусово вилучити».

Коли здається, що диск ніщо не використовує

Вийдіть із системи й увійдіть знову, це завершить усі ваші програми й помічники, а потім вилучіть диск. Якщо спрацювало, диск тримав фоновий помічник. Якщо ні, вимкніть Mac і відʼєднайте диск, коли той вимкнеться: вимкнення безпечно демонтує кожен диск.

Як цьому запобігти

Більшість застряглих вилучень спричиняють ті самі кілька звичок.

  • Завершуйте програми, що відкривали файли на диску, перш ніж його вилучати
  • Не залишайте вікна Термінала в папках диска або спершу закривайте їх
  • Додайте диск до «Приватності пошуку» Spotlight, якщо ніколи не шукаєте на ньому
  • Дочекайтеся завершення резервного копіювання Time Machine, перш ніж відʼєднувати його диск

Що додає Vitals

Vitals називає, що тримає диск, і вилучає його за вас.

  • «Відкриті файли» на вкладці «Розробка»: кожен диск із кількістю відкритих на ньому файлів і «Використано» або «Можна вилучити»
  • Під диском — кожна програма й процес, що його тримають, з папкою, у якій вони працюють, і відкритими файлами
  • «Завершити й вилучити»: Vitals називає програми, питає, завершує їх, як ⌘Q, а потім вилучає диск
  • Spotlight і Time Machine названо за тим, що вони роблять, і Vitals пробує ще раз, поки вони відпускають диск

Варто знати

  • Vitals не вилучає примусово. Якщо програма не завершується, він каже, яка, і залишає диск підʼєднаним.
  • Без «Повних системних показників» файли процесів самої macOS не враховуються, і Vitals каже, скільки їх.
  • «Відкриті файли» є у вікні, а не в спадній панелі смуги меню.
Отримати Vitals за $29 $29 назавжди під час запуску, $49 після, одна оплата, повернення коштів протягом 14 днів. Або $15 за рік оновлень.

Що питають люди

Чому Mac каже, що диск не вилучено, бо одна чи кілька програм можуть його використовувати?

Якийсь процес досі тримає відкритий файл чи папку на диску. Це може бути програма, вікно Термінала, Spotlight чи Time Machine. Виконайте sudo lsof /Volumes/NAME, щоб побачити, що саме.

Як дізнатися, яка програма використовує зовнішній диск на Mac?

Виконайте sudo lsof /Volumes/NAME у Терміналі. Кожен рядок — процес і файл, який він відкрив на диску. Vitals показує те саме за програмами в розділі «Відкриті файли».

Чи безпечно примусово вилучати диск на Mac?

Лише якщо на нього ніщо не записує. «Примусово вилучити» може залишити файл неповним або бібліотеку такою, що потребує відновлення. Спершу знайдіть, що тримає диск, і завершіть це.

Чи можна просто відʼєднати диск?

Не поки він підʼєднаний. macOS може ще записувати, і після цього диск може потребувати відновлення. Спершу вилучіть його або вимкніть Mac.

Чому Spotlight використовує мій зовнішній диск?

Spotlight індексує диск, щоб на ньому можна було шукати. Він завершує це сам. Щоб зупинити його назавжди, додайте диск у Системні параметри → Spotlight → «Приватність пошуку».

Чи є програма, яка показує, що не дає вилучити диск?

Так, Vitals. Його розділ «Відкриті файли» показує кожен диск із програмами, що тримають на ньому файли, а «Завершити й вилучити» завершує їх і вилучає диск після підтвердження.

У глосарії

Інші посібники