Безопасно ли принудительно извлекать диск на Mac?
Принудительное извлечение может быть безопасным — или повредить ваши файлы. Разница в одной вещи, которую можно проверить за секунды. Вот когда это безопасно, а когда стоит подождать.
Диск не извлекается. А вам нужно бежать по делам. Вариант принудительного извлечения прямо здесь. Но вы слышали страшные истории про повреждённые файлы и испорченные диски. Действительно ли безопасно извлекать принудительно?
Честный ответ: это целиком зависит от того, что происходит в момент, когда вы это делаете.
Что на самом деле делает принудительное извлечение
Когда вы извлекаете принудительно через macOS (Option-клик по диску и выбор «Принудительно извлечь» или через Дисковую утилиту), вы указываете системе остановить все дисковые операции и немедленно размонтировать том. Это не то же самое, что просто выдернуть кабель.
Команда принудительного извлечения macOS пытается корректно остановить ожидающие операции перед освобождением диска. Это не чистое завершение, но и не внезапная потеря питания тоже. У диска есть момент, чтобы прекратить то, что он делает.
Подвох в том, что «прекратить то, что он делает» не означает «закончить то, что он делает». Любые данные, которые были в пути, бросаются там, где они находились в процессе.
Когда принудительное извлечение, скорее всего, в порядке
Если блокирующий процесс только читал файлы, принудительное извлечение почти всегда безопасно. Чтение не изменяет диск, поэтому портить нечего. Индексирование Spotlight, генерация превью в Быстром просмотре или приложение, у которого файл открыт для просмотра — это операции чтения. Принудительное извлечение прерывает их, но ваши данные остаются нетронутыми.
Если вы закончили работу и всё закрыли, но диск всё равно не извлекается, принудительное извлечение обычно тоже в порядке. Блокировщик, вероятно, какой-то фоновый процесс, удерживающий устаревшую ссылку на диск. На самом деле ничего такого не происходит, что могло бы повредиться.
Если вы извлекаете диск, с которого только читали и на который ни разу не писали за эту сессию, принудительное извлечение безопасно. Нет записи — нет риска незавершённой записи.
Когда принудительное извлечение рискованно
Если вы видите где-либо индикатор выполнения, остановитесь. Активное копирование файлов, загрузки на диск или операции сохранения приложений — самое опасное время для принудительного извлечения. Записываемый файл почти наверняка окажется повреждённым или неполным.
Если вы только что завершили операцию копирования, подождите. macOS использует кэширование записи для производительности. То, что выглядит как завершённая передача, может всё ещё иметь данные в памяти, ожидающие сброса на диск. Индикатор выполнения может исчезнуть до того, как фактическая запись завершится. Дайте 30 секунд после видимого завершения, прежде чем извлекать принудительно.
Если диск — резервная копия Time Machine посреди резервного копирования, будьте осторожны. Прерывание Time Machine посреди копирования может повредить каталог резервных копий, потенциально затронув всю историю копий, а не только текущую копию.
Если приложение аварийно завершилось во время работы с файлами на диске, ситуация непредсказуема. У приложения могла быть запись в процессе. Принудительное извлечение добавляет второй сбой поверх первого.
Что на самом деле может пойти не так
Худший случай — повреждение файловой системы. Если диск обновлял структуры каталогов (метаданные, которые сообщают системе, где находятся файлы) в момент принудительного извлечения, эти структуры могут остаться в несогласованном состоянии. Это может сделать файлы недоступными или привести к тому, что весь диск перестанет монтироваться.
Чаще вы получите повреждение отдельных файлов. Записываемый файл становится нечитаемым или обрезанным. Это плохо, но по крайней мере ограничено одним файлом.
На дисках APFS и HFS+ журналирование (или copy-on-write в случае APFS) обеспечивает некоторую защиту. Файловая система обычно может восстановиться до согласованного состояния, даже если прерванный файл потерян. Диски exFAT и FAT32 такой защиты не имеют и более уязвимы к масштабному повреждению.
В редких случаях многократные принудительные извлечения могут способствовать аппаратным проблемам диска. SSD и HDD рассчитаны на внезапную потерю питания, но это им не на пользу.
Как извлечь принудительно безопасно
Если вы решили, что принудительное извлечение необходимо, вот самый безопасный подход.
Сначала проверьте, что на самом деле использует диск. Откройте Терминал и выполните:
sudo lsof /Volumes/YourDriveName
Посмотрите на вывод. Если вы видите процессы вроде mds (Spotlight) или QuickLookUIService, вы, вероятно, в безопасности. Если вы видите приложения, с которыми активно работали, подумайте дважды.
Во-вторых, попробуйте завершить блокирующие приложения обычным способом. Дайте им возможность чисто закрыть файлы, прежде чем форсировать вопрос.
В-третьих, используйте принудительное извлечение macOS, не просто отключайте кабель. Нажмите правой кнопкой на диск (или Option-клик) и выберите «Принудительно извлечь». Или откройте Дисковую утилиту и используйте там кнопку размонтирования. Это даёт системе возможность остановить операции.
В-четвёртых, дождитесь, пока значок исчезнет. Принудительное извлечение не мгновенно. Значок диска должен исчезнуть с рабочего стола. Только тогда безопасно физически отключать.
Наконец, если диск был резервной копией Time Machine или содержал файлы, которые вы активно редактировали, запустите на нём «Первую помощь» Дисковой утилиты при следующем подключении. Это проверяет и устраняет проблемы файловой системы.
Пропустите ручные шаги: Ejecta точно покажет, какой процесс блокирует ваш диск, — и позволит завершить его одним кликом прямо из строки меню. Подробнее →
Лучший подход
Принудительное извлечение существует не просто так, но это крайняя мера. Если вы прибегаете к нему регулярно, что-то не так с вашим рабочим процессом.
Корень проблемы обычно в том, что вы не знаете, что блокирует диск. macOS даёт расплывчатое сообщение об ошибке и оставляет вас гадать. Вы либо извлекаете принудительно и надеетесь на лучшее, либо начинаете рыться в Мониторинге системы и Терминале.
Ejecta решает это, показывая вам, что именно использует каждый диск. Вместо того чтобы извлекать принудительно вслепую, вы видите, что Spotlight выполняет индексирование (безопасно завершить), а вот Photoshop держит файл открытым (лучше сначала сохранить). Вы принимаете обоснованное решение вместо того, чтобы играть в азартную игру.
Принудительное извлечение безопасно, когда ничего активно не записывается на диск. Проблема в том, чтобы знать, так ли это. Без этой информации вы просто бросаете кости.
Если вам не хочется каждый раз обращаться к Терминалу, Ejecta точно покажет, какой процесс блокирует ваш диск, — и позволит завершить его одним кликом прямо из строки меню.
Купить — $9.99