Как извлечь внешний диск, когда Finder не отвечает
Finder завис или не отвечает? Это не значит, что внешний диск придётся оставить подключённым. Вот несколько способов безопасно извлечь его, не полагаясь на Finder.
Вы нажимаете кнопку извлечения в боковом меню Finder — и ничего не происходит. Или, что хуже, сам Finder перестал отвечать, и всё боковое меню стало серым. Диск застрял, а единственный инструмент, которым вы обычно его извлекаете, отказывается сотрудничать.
Такое случается чаще, чем Apple, вероятно, хотелось бы признавать. Finder — сложное приложение, которое одновременно отвечает за управление файлами, отрисовку рабочего стола и управление окнами. Когда он на чём-то спотыкается, извлечение дисков становится одной из первых жертв.
Почему Finder перестаёт реагировать на запросы извлечения
Finder может зависнуть по нескольким причинам, и большинство из них вообще не связаны с вашим внешним диском.
Сетевой том, ушедший в офлайн, способен подвесить Finder, пока тот пытается переподключиться. Папка с тысячами файлов, для которых Finder пытается создать миниатюры, может всё застопорить. Даже повреждённый файл .DS_Store в неподходящем месте заставляет Finder «крутиться».
Когда Finder зависает, он перестаёт обрабатывать любые действия пользователя, включая запросы на извлечение. Вы нажимаете значок извлечения, и ничего не происходит, потому что Finder так и не получил команду. Он застрял в цикле где-то совсем в другом месте.
Иногда Finder выглядит отзывчивым, но всё равно не извлекает диск. Вы можете кликать по интерфейсу, открывать папки, перемещать файлы. Но кнопка извлечения ничего не делает, или вы видите кратковременный «крутящийся» курсор, после чего Finder молча сдаётся. Обычно это значит, что Finder обрабатывает запрос на извлечение, но упирается в стену, потому что что-то удерживает диск открытым.
Извлечение через Дисковую утилиту
Дисковая утилита работает независимо от Finder. Откройте её из «Программы» > «Утилиты» или найдите через Spotlight (Command-пробел).
Найдите внешний диск в боковом меню слева. Выберите том (а не запись физического диска над ним) и нажмите кнопку «Размонтировать» на панели инструментов. Если сработает, диск исчезнет с рабочего стола, и вы сможете безопасно его отключить.
Если нужно размонтировать все тома на диске с несколькими разделами, выберите запись физического диска (элемент верхнего уровня) и нажмите «Размонтировать все».
Дисковая утилита общается с системой управления дисками напрямую, полностью обходя слой Finder. Если проблема именно в Finder, Дисковая утилита нередко справляется там, где Finder спасовал.
Извлечение через Терминал
Терминал даёт максимально прямой контроль. Откройте его из «Программы» > «Утилиты» и используйте команду diskutil:
diskutil unmount /Volumes/YourDriveName
Если обычное размонтирование не срабатывает, можно попробовать принудительное:
diskutil unmountDisk force /dev/disk4
Замените disk4 на правильный идентификатор диска. Чтобы найти его, выполните:
diskutil list
Найдите в выводе имя своего диска. Идентификатор будет вида disk4 или disk5.
Команды Терминала полностью обходят Finder. Они напрямую обращаются к демону disk arbitration — системной службе, которая на самом деле отвечает за подключение и размонтирование дисков.
Перезапуск Finder
Если проблема действительно в Finder, его перезапуск может расчистить затор.
Удерживайте Option, затем кликните правой кнопкой по значку Finder в Dock. Внизу меню появится пункт «Перезапустить». Нажмите его.
Либо откройте Терминал и выполните:
killall Finder
Finder перезапустится автоматически. Когда он снова заработает, попробуйте извлечь диск из бокового меню. Свежая сессия Finder часто устраняет то, что блокировало запрос на извлечение.
Учтите, что перезапуск Finder закрывает все окна Finder. Если у вас были определённые расположения окон или открытые вкладки, они пропадут.
Когда не помогают даже эти способы
Если ни Дисковая утилита, ни Терминал, ни перезапуск Finder не извлекают диск, дело вовсе не в Finder. Что-то ещё в системе удерживает файлы на этом диске открытыми.
На этом этапе нужно выяснить, что на самом деле использует диск:
lsof /Volumes/YourDriveName
Эта команда перечисляет каждый процесс с открытым файловым дескриптором на вашем диске. Вывод бывает плотным, но смотрите в столбец COMMAND на знакомые имена процессов.
Ручной подход работает, но требует времени и определённого знакомства с системными процессами, чтобы разобрать результаты. Ejecta делает это автоматически. Программа следит за вашими внешними дисками и показывает, какие именно процессы блокируют извлечение, с кнопкой для завершения каждого из них. Никакого Терминала, никаких догадок, никакого ожидания, пока Finder разберётся сам с собой.
Когда инструменты вас подводят, ответ не в том, чтобы принудительно извлечь диск или выдернуть кабель. А в том, чтобы выяснить, что происходит на самом деле, и решить это напрямую.
Если вам не хочется каждый раз обращаться к Терминалу, Ejecta точно покажет, какой процесс блокирует ваш диск, — и позволит завершить его одним кликом прямо из строки меню.
Купить — $9.99