Как безопасно извлекать внешние диски в 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