Як безпечно витягувати зовнішні диски на macOS Sequoia та Sonoma
Apple змінила механізм витягнення дисків у нових версіях macOS. Ось що відрізняється в Sequoia та Sonoma і як впоратися з типовими проблемами витягнення.
Якщо ви нещодавно оновилися до macOS Sequoia або Sonoma, ви могли помітити, що витягнення зовнішніх дисків відбувається інакше. Не тому, що Apple переробила сам процес, а тому, що фонові зміни в системі впливають на те, як і коли диски можна витягувати.
І Sequoia, і Sonoma принесли зміни в елементи керування конфіденційністю, керування фоновими процесами та системні служби, які створюють нові складнощі з витягненням дисків. Ось що змінилося і як із цим упоратися.
Що змінилося в Sonoma та Sequoia
Починаючи з Sonoma, Apple розширила обмеження на фонові процеси. Система агресивніше керує тим, які програми можуть виконувати фонові завдання і як довго ці завдання можуть тривати. Хоч як парадоксально, це означає, що деякі процеси тепер утримують ресурси диска інакше, ніж раніше.
Sequoia пішла далі зі змінами в дозволах Повного доступу до диска. Програмам потрібен явний дозвіл для доступу до певних розташувань файлів, і система забезпечує дотримання цих дозволів суворіше. Коли системний процес стикається з межею дозволів під час доступу до вашого зовнішнього диска, він іноді може зависнути замість того, щоб коректно завершитися з помилкою, залишивши відкритий дескриптор файлу.
Система сповіщень також змінилася. У старіших версіях macOS попередження «Диск вийнято неправильно» з’являлося один раз і зникало. У Sequoia система може наполегливіше попереджати вас, а в деяких випадках саме сповіщення спричиняє звернення до диска, коли система перевіряє його стан.
Нове розташування в Системних налаштуваннях
Якщо ви шукаєте налаштування дисків і накопичувачів, Apple знову все переставила.
У Sequoia налаштування, пов’язані з дисками, розташовані в Системні налаштування > Загальні > Сховище. Але більшість елементів керування, що стосуються витягнення, усе ще міститься в Дисковій утиліті, яка майже не змінилася.
Щоб налаштувати винятки Spotlight (поширений спосіб усунення проблем із витягненням), перейдіть до Системні налаштування > Siri та Spotlight > Конфіденційність Spotlight. Це одне з найдієвіших налаштувань, які варто змінити, якщо у вас регулярно виникають проблеми з витягненням дисків.
Типові проблеми з витягненням у Sequoia
Фонова служба cloudd, яка відповідає за синхронізацію iCloud через CloudKit, може спричиняти проблеми з витягненням у Sequoia. Ця служба час від часу утримує посилання на файли на зовнішніх дисках, особливо якщо ви колись відкривали документ, синхронізований з iCloud, коли активним вікном Finder був зовнішній диск.
Якщо cloudd блокує витягнення, ви можете перевірити це командою:
lsof /Volumes/YourDriveName | grep cloudd
Завершення cloudd у Моніторингу системи тимчасово вирішить проблему, але процес автоматично перезапускається. Перенесення робочих процесів, пов’язаних з iCloud, із папок на зовнішніх дисках — це довгострокове рішення.
Stage Manager (з’явився у Ventura і досі присутній у Sequoia) також може спричиняти проблеми. Коли його ввімкнено, він зберігає посилання на нещодавні вікна та їхній вміст. Якщо у вас було відкрите вікно Finder із вмістом зовнішнього диска, Stage Manager може утримувати це посилання навіть після того, як ви закриєте вікно.
Вимкнення Stage Manager (Системні налаштування > Робочий стіл і Dock > Stage Manager) вирішує цю проблему, хоча це доволі радикальне рішення для проблеми з витягненням.
Типові проблеми з витягненням саме в Sonoma
У Sonoma система віджетів розширилася на робочий стіл, і віджети на робочому столі можуть заважати витягненню диска, якщо вони посилаються на файли або відображають інформацію із зовнішнього диска.
Поширеніша проблема Sonoma пов’язана з оновленою версією Spotlight. Spotlight у Sonoma індексує більше типів файлів і метаданих, ніж попередні версії. Якщо ви підключаєте диск із великою кількістю документів, фотографій чи медіафайлів, Spotlight працює інтенсивніше й довше, утримуючи диск зайнятим протягом тривалого часу.
Sonoma також змінила те, як Термінал обробляє шляхи до томів. Деякі старіші скрипти, що використовують шляхи /Volumes/DriveName, можуть поводитися інакше. Якщо у вас є скрипти, які автоматично підключають зовнішні диски або звертаються до них, перевірте їх після оновлення.
Надійний спосіб витягнення в обох версіях
Незалежно від того, яку версію macOS ви використовуєте, ця послідовність працює стабільно:
- Закрийте всі вікна Finder, у яких відображається вміст диска
- Завершіть усі програми, у яких ви працювали з файлами на диску
- Зачекайте десять секунд, поки фонові процеси звільнять диск
- Клацніть правою кнопкою миші на значку диска на робочому столі або в бічній панелі Finder і виберіть «Витягнути»
Якщо це не спрацювало, спробуйте Термінал:
diskutil unmount /Volumes/YourDriveName
Якщо Термінал теж не допоміг, перевірте, що утримує диск:
lsof /Volumes/YourDriveName
Пропустіть усі ручні кроки: Ejecta покаже вам, який саме процес блокує ваш диск, — і дасть завершити його одним кліком прямо з рядка меню. Докладніше →
Дозволи та Повний доступ до диска
І Sequoia, і Sonoma суворіше ставляться до того, що може звертатися до ваших дисків. Якщо ви використовуєте Термінал або сторонні інструменти для керування дисками, переконайтеся, що Термінал (або ваш улюблений термінальний застосунок) має Повний доступ до диска в Системні налаштування > Конфіденційність і безпека > Повний доступ до диска.
Без Повного доступу до диска команда lsof не покаже вам усіх процесів, які використовують диск. Ви отримаєте неповний список, у якому може не бути справжнього винуватця.
Ця вимога щодо дозволів також пояснює, чому деякі старіші утиліти для роботи з дисками перестали працювати після оновлення до Sonoma або Sequoia. Їх потрібно оновити, щоб вони запитували нові дозволи.
Що Apple варто виправити
Базовий досвід витягнення дисків на macOS не покращувався суттєво вже багато років. Повідомлення про помилку досі каже «Диск не вийнято, оскільки одна чи кілька програм можуть його використовувати», не повідомляючи, які саме програми. Це не допомагало в Catalina, і досі не допомагає в Sequoia.
В Apple є ця інформація. Система точно знає, які процеси утримують відкриті дескриптори файлів. Вона просто не показує цю інформацію користувачеві.
Доки Apple це не виправить, Ejecta заповнює цю прогалину. Він працює і на macOS Sonoma, і на Sequoia, визначає конкретні процеси, що блокують ваші диски, і дозволяє завершити їх безпосередньо. Він враховує нові системні служби та вимоги до дозволів, що з’явилися в цих версіях ОС, тож вам не доведеться з’ясовувати, хто винуватець — cloudd, Stage Manager чи якийсь інший новий фоновий процес.
Оновлення вашого Mac не повинно ускладнювати базові завдання. А витягнення диска — це настільки базове завдання, наскільки це взагалі можливо.
Якщо ви не хочете щоразу користуватися Терміналом, Ejecta покаже вам, який саме процес блокує ваш диск, — і дасть завершити його одним кліком прямо з рядка меню.
Купити — $9.99