Чому Spotlight блокує витягнення диска

Індексування Spotlight — одна з найпоширеніших причин, чому не вдається витягнути зовнішній диск. Ось як із цим упоратися.

(Updated )

Ви намагаєтеся витягнути зовнішній диск, а macOS відмовляє. Ви відкриваєте Моніторинг системи й бачите процеси з назвами mds або mds_stores, що звертаються до вашого диска. Вітаємо — ви познайомилися з індексуванням Spotlight.

Це, мабуть, найпоширеніша причина, чому зовнішні диски не витягуються на Mac. Spotlight хоче проіндексувати все, щоб потім ви могли це шукати, і його не обходить, що вам за дві хвилини треба бігти на нараду.

Що насправді робить Spotlight

Система індексування Spotlight працює через кілька фонових процесів. Головний із них — mds (сервер метаданих), який координує всю операцію. Далі є mds_stores, що відповідає за фактичне зберігання проіндексованих метаданих. Ви також можете побачити mdworker або mdworker_shared, які виконують основну роботу з читання та категоризації ваших файлів.

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

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

Як перевірити, чи винен Spotlight

Відкрийте Моніторинг системи (знайдіть його через сам Spotlight — хоч як іронічно) і знайдіть ці назви процесів: mds, mds_stores, mdworker чи mdworker_shared. Якщо в інформації про будь-який із них фігурує назва вашого зовнішнього диска, то ваш блокувальник — Spotlight.

Перевірити можна й через Термінал. Виконайте цю команду, замінивши назву диска на свою:

lsof /Volumes/YourDriveName

Якщо у виводі є процеси, пов’язані з mds, значить Spotlight тримає ваш диск.

Швидке рішення: тимчасово вимкнути індексування

Найшвидший спосіб — вимкнути індексування Spotlight для конкретного тома:

sudo mdutil -i off /Volumes/YourDriveName

Зачекайте, закрийте програми й повторіть звичайне виймання.

Коли згодом ви знову підключите диск і захочете повернути індексування:

sudo mdutil -i on /Volumes/YourDriveName

Постійне рішення: повністю виключити диск

Якщо ви взагалі ніколи не хочете, щоб Spotlight індексував певний зовнішній диск, можна додати його до списку конфіденційності.

Відкрийте Системні налаштування, перейдіть до «Siri та Spotlight» (або просто «Spotlight» у старіших версіях macOS), тоді натисніть «Конфіденційність Spotlight» унизу. Перетягніть свій зовнішній диск до цього списку або натисніть кнопку «плюс», щоб додати його.

Назви процесів Spotlight не доводять доступу лише для читання. Зачекайте, закрийте програми й повторіть звичайне виймання.

Є ще трюк із прихованим файлом. Створіть порожній файл із назвою .metadata_never_index у корені вашого зовнішнього диска:

touch /Volumes/YourDriveName/.metadata_never_index

Spotlight перевіряє наявність цього файлу й пропускає індексування будь-якого тома, де той є. Це зручно для дисків, якими ви ділитеся між кількома Mac, оскільки налаштування слідує за диском, а не зберігається на кожному комп’ютері.

Коли Spotlight не відпускає

Назви процесів Spotlight не доводять доступу лише для читання. Не завершуйте mds або mds_stores примусово заради звільнення диска. Зачекайте, закрийте програми й повторіть звичайне виймання. Ejecta визначає ці процеси, але не пропонує звичайного завершення системних процесів. Якщо диск залишається заблокованим, збережіть усе й повністю вимкніть Mac перед від’єднанням.

Назва процесу або список відкритих файлів не доводить відсутності запису.

Збережіть роботу, завершіть копіювання та резервне копіювання й закрийте програми звичайним способом перед повторним вийманням.

Чому це повторюється раз за разом

Щоразу, коли ви підключаєте зовнішній диск, Spotlight починає індексувати його заново, якщо ви не виключили його. Навіть диски, якими ви вже користувалися, будуть переіндексовані, якщо їхній індекс застарів або пошкодився.

Оновлення macOS теж можуть скинути налаштування конфіденційності Spotlight. Деякі користувачі повідомляли, що після оновлення до нової версії macOS диски, які вони раніше виключали, раптом знову почали індексуватися. Варто перевіряти список «Конфіденційність Spotlight» після великих оновлень.

Простіший підхід

Ejecta: Ejecta пропонує безкоштовну діагностику дисків без обмеженого пробного періоду. Платна ліцензія відкриває завершення й виймання для підтримуваних програм, виймання всіх дисків і керування Time Machine. Системні процеси можуть потребувати очікування, авторизації або вимкнення. Спочатку збережіть роботу й завершіть передавання.

Першопричина (агресивне індексування зовнішніх дисків Spotlight) нікуди не дінеться найближчим часом. Але мати з нею справу не обов’язково має бути цілим дослідженням щоразу, коли вам треба піти з диском.

Ejecta пропонує безкоштовну діагностику дисків без обмеженого пробного періоду. Платна ліцензія відкриває завершення й виймання для підтримуваних програм, виймання всіх дисків і керування Time Machine. Системні процеси можуть потребувати очікування, авторизації або вимкнення. Спочатку збережіть роботу й завершіть передавання.

Купити - $29 $9.99