Чи безпечне примусове витягнення на Mac?

Примусове витягнення може бути безпечним — або пошкодити ваші файли. Різницю можна перевірити за лічені секунди. Ось коли це безпечно, а коли краще зачекати.

Диск не витягується. А вам уже час іти. Опція примусового витягнення ось вона, поруч. Але ви чули історії жахів про пошкоджені файли та зіпсовані диски. То чи справді безпечно витягувати диск примусово?

Чесна відповідь: це цілком залежить від того, що відбувається в момент, коли ви це робите.

Що насправді робить примусове витягнення

Коли ви примусово витягуєте диск засобами macOS (Option-клік на диску й вибір «Примусове витягнення» або через Дискову утиліту), ви наказуєте системі зупинити всі дискові операції та негайно відмонтувати том. Це не те саме, що просто висмикнути кабель.

Команда примусового витягнення macOS намагається коректно зупинити незавершені операції, перш ніж вивільнити диск. Це не чисте завершення роботи, але й не раптова втрата живлення. У диска є мить, щоб зупинити те, що він робить.

Заковика в тому, що «зупинити те, що він робить» не означає «завершити те, що він робить». Будь-які дані, що були в дорозі, лишаються покинутими там, де їх застала зупинка процесу.

Коли примусове витягнення, найімовірніше, безпечне

Якщо блокувальний процес лише читав файли, примусове витягнення майже завжди безпечне. Читання не змінює диск, тож псувати нічого. Spotlight, що індексує, QuickLook, що генерує попередні перегляди, або програма, що тримає файл відкритим для перегляду, — це операції читання. Примусове витягнення перериває їх, але ваші дані лишаються цілими.

Якщо ви завершили роботу й усе закрили, але диск однаково не витягується, примусове витягнення зазвичай теж безпечне. Блокувальник — це, найімовірніше, якийсь фоновий процес, що тримає застаріле посилання на диск. Насправді не відбувається нічого, що могло б пошкодитися.

Якщо ви витягуєте диск, з якого лише читали й на який ніколи не записували протягом цієї сесії, примусове витягнення безпечне. Немає записів — немає ризику незавершених записів.

Коли примусове витягнення ризиковане

Якщо ви бачите бодай десь індикатор виконання — зупиніться. Активне копіювання файлів, завантаження на диск чи операції збереження програм — найнебезпечніший момент для примусового витягнення. Файл, що записується, майже напевно буде пошкоджений або неповний.

Якщо ви щойно завершили операцію копіювання, зачекайте. macOS використовує кешування запису задля швидкодії. Те, що виглядає як завершена передача, може все ще мати дані в пам’яті, що чекають на скидання на диск. Індикатор виконання може зникнути ще до завершення фактичного запису. Дайте 30 секунд після видимого завершення, перш ніж примусово витягувати.

Якщо диск є резервною копією Time Machine посеред створення резервної копії, будьте обережні. Переривання Time Machine посеред резервного копіювання може пошкодити каталог резервних копій, що потенційно вплине на всю історію резервних копій, а не лише на поточну.

Якщо програма зависла під час роботи з файлами на диску, ситуація непередбачувана. Можливо, у програми був незавершений запис. Примусове витягнення додає другий збій поверх першого.

Що насправді може піти не так

Найгірший випадок — пошкодження файлової системи. Якщо в момент примусового витягнення диск оновлював структури каталогів (метадані, які кажуть системі, де розташовані файли), ці структури можуть лишитися в неузгодженому стані. Через це файли можуть стати недоступними або весь диск може перестати монтуватися.

Частіше ви отримаєте пошкодження окремого файлу. Файл, що записувався, стає нечитабельним або обрізаним. Це погано, але принаймні обмежено цим одним файлом.

На дисках APFS і HFS+ журналювання (або копіювання при записі у випадку APFS) забезпечує певний захист. Файлова система зазвичай може відновитися до узгодженого стану, навіть якщо перерваний файл втрачено. Диски exFAT і FAT32 такого захисту не мають і вразливіші до масштабних пошкоджень.

У рідкісних випадках повторні примусові витягнення можуть спричиняти проблеми з апаратною частиною диска. SSD і HDD розраховані на раптову втрату живлення, але це їм не на користь.

Як примусово витягнути диск безпечно

Якщо ви вирішили, що примусове витягнення необхідне, ось найбезпечніший підхід.

Спершу перевірте, що насправді використовує диск. Відкрийте Термінал і виконайте:

sudo lsof /Volumes/YourDriveName

Подивіться на вивід. Якщо ви бачите процеси на кшталт mds (Spotlight) чи QuickLookUIService, ви, найімовірніше, у безпеці. Якщо бачите програми, з якими активно працювали, подумайте двічі.

По-друге, спробуйте завершити блокувальні програми звичайним способом. Дайте їм шанс акуратно закрити файли, перш ніж форсувати ситуацію.

По-третє, скористайтеся примусовим витягненням macOS, а не просто від’єднанням. Клацніть диск правою кнопкою (або Option-клік) і виберіть «Примусове витягнення». Або відкрийте Дискову утиліту й скористайтеся кнопкою відмонтування там. Це дає системі шанс зупинити операції.

По-четверте, дочекайтеся зникнення значка. Примусове витягнення не миттєве. Значок диска має зникнути з вашого робочого столу. Лише тоді безпечно фізично від’єднати його.

Насамкінець, якщо диск був резервною копією Time Machine або містив файли, які ви активно редагували, запустіть «Першу допомогу» Дискової утиліти наступного разу, коли під’єднаєте його. Вона перевіряє й виправляє проблеми файлової системи.

Пропустіть усі ручні кроки: Ejecta покаже вам, який саме процес блокує ваш диск, — і дасть завершити його одним кліком прямо з рядка меню. Докладніше →

Кращий підхід

Примусове витягнення існує не просто так, але це крайній захід. Якщо ви ловите себе на тому, що вдаєтеся до нього регулярно, з вашим робочим процесом щось не так.

Першопричина зазвичай у тому, що ви не знаєте, що блокує диск. macOS дає вам туманне повідомлення про помилку й лишає гадати. Ви або примусово витягуєте й сподіваєтеся на краще, або починаєте порпатися в Моніторингу системи й Терміналі.

Ejecta розв’язує це, показуючи вам точно, що використовує кожен диск. Замість того щоб витягувати наосліп, ви бачите, що Spotlight індексує (безпечно завершити) на противагу тому, що Photoshop тримає файл відкритим (краще спершу зберегти). Ви ухвалюєте обґрунтоване рішення, а не граєте в азартну гру.

Примусове витягнення безпечне, коли на диск нічого активно не записується. Проблема в тому, щоб знати, чи це так. Без цієї інформації ви просто кидаєте кості.

Якщо ви не хочете щоразу користуватися Терміналом, Ejecta покаже вам, який саме процес блокує ваш диск, — і дасть завершити його одним кліком прямо з рядка меню.

Купити — $9.99