Шанси на відновлення даних: файлові системи macOS

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

Комп'ютери Apple, що працюють під управлінням macOS, вже багато років використовують HFS+. Ви також можете знати її як Mac OS Extended. Файлову систему можна знайти в macOS 10.12 Sierra або старіших версіях. Однак після впровадження більш просунутої файлової системи APFS вона стала варіантом за замовчуванням для нових моделей комп'ютерів Mac, починаючи з macOS 10.13 High Sierra.

HFS+

HFS+ організовує розміщення даних за допомогою набору спеціальних файлів. Втім, вони представлені не в тому вигляді, який ми звикли бачити. Натомість вони розташовані у вигляді деревоподібних структур – так званих B-дерев. Концепція дерев може здатися досить складною, але ви повинні принаймні бути знайомі з нею, щоб зрозуміти, як працює більшість сучасних файлових систем. Принциповою відмінністю дерев є те, що вони не зберігають інформацію послідовно. Вона розташовується на кількох рівнях, які поєднуються один з одним, ілюструючи певний взаємозв'язок.

Будь-який розділ, відформатований за допомогою HFS+, розбивається на блоки однакового розміру, які називаються блоками розподілу (allocation blocks). Стан кожного блоку розподілу позначено у Файлі розподілу (Allocation File). Цей файл служить картою доступного простору для всієї файлової системи.

Блоки розподілу призначаються файлам у безперервних послідовностях, які називаються екстентами. Кожен екстент характеризується розташуванням його початкового блоку та кількістю блоків, які слідують за ним. Екстенти також є важливими елементами, які часто зустрічаються в різних сучасних файлових системах.

Файл каталогу (Catalog File) є центральною деревоподібною структурою в HFS+. Він визначає відносини всіх файлів та каталогів, зберігає їх основні властивості, включаючи імена, і розташування до восьми перших екстентів. Додаткові екстенти, за їх наявності, зберігаються у Файлі переповнення екстентів (Extents Overflow File).

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

Видалення

Процедура: HFS+ одразу ж перебудовує Файл каталогу, знищуючи інформацію про ім'я файлу та його екстенти. Файл розподілу оновлюється, щоб відобразити, що відповідні блоки розподілу тепер вільні. Попри це, самі екстенти залишаються десь у сховищі. Крім того, записи, пов'язані з цими оновленнями, зберігаються в журналі ще деякий час.

Відновлення: Журнал може містити копію структур Файлу каталогу, які описують видалений файл. Шанси залежать від того, наскільки активно використовувалася операційна система після видалення. Якщо ця інформація була перезаписана, але екстенти все ще існують, є й інший спосіб повернути файл. Проте у цьому випадку програма для відновлення даних повинна обійти файлову систему та проаналізувати сховище на глибшому рівні, знайти та зібрати файл по частинах на основі відомих особливостей його формату. Цей метод також називається RAW-відновленням даних. Його головна слабкість полягає в тому, що отриманий файл буде без свого справжнього імені і втратить свій початковий каталог. Крім того, цей метод дасть позитивні результати лише за умови, що HFS+ зберегла вміст файлу в суміжних екстентах.

Форматування

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

Відновлення: По-перше, можна проаналізувати журнал, щоб витягти все, що залишилося в його записах. Інші файли можна відтворити за допомогою методу RAW-відновлення. Аналогічно, позитивних результатів можна досягти тільки для файлів, які займають суміжні екстенти.

APFS

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

Так само як і HFS+, APFS розподіляє блоки по файлах в безперервних серіях під назвою екстенти, кожен з яких характеризується початковим блоком і кількістю блоків в послідовності. Всі екстенти організовані у вигляді деревоподібної структури – вже згаданого B-дерева.

Ієрархія файлів та каталогів, на ряду з інформацією, що описує їх, також зберігається у вигляді B-дерева.

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

Видалення

Процедура: APFS реорганізує B-дерево у відповідь на видалення, стираючи інформацію про файл.

Відновлення: Можливо, вдасться знайти старіші копії та використати їх для реконструкції. Одначе, оскільки APFS призначена для твердотільних накопичувачів, вміст файлу, швидше за все, буде видалено в результаті операції TRIM, яка не залишає можливості для відновлення даних.

Читайте далі, щоб дізнатися про можливості відновлення даних з інших файлових систем: