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

  1. Закройте все окна Finder, в которых показано содержимое диска
  2. Завершите все приложения, в которых вы работали с файлами на диске
  3. Подождите десять секунд, чтобы фоновые процессы освободили диск
  4. Нажмите правой кнопкой на значок диска на рабочем столе или в боковой панели 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