Подробный обзор алгоритма восстановления данных HFS+: всё, что вам нужно знать!
В этой статье мы рассмотрим алгоритм восстановления данных файловой системы HFS+ и расскажем о ключевых шагах, необходимых для успешного восстановления информации. Узнайте, как использовать этот алгоритм для максимальной эффективности и спасите ваши данные уже сегодня!
- 1. Преимущества и отличия HFS+
- 2. Архитектура HFS Plus
- 3. Восстановление данных в Time Machine
- 4. Алгоритм восстановления HFS+
- Заключение
- Вопросы и ответы
- Комментарии
1. Преимущества и отличия HFS+
Главный отличием HFS+ является то что она использует 32-битную архитектуру вместо 16-битной как в HFS. Старая адресация являлась серьёзным ограничением, не позволявшим работать с томами объёмом более 65 536 блоков. При объёме диска в 1 ГБ размер кластера (блока) составлял 16 КБ — даже файл из 1 байта занимал все 16 КБ.
В HFS+ так же, как и в предыдущей системе используется, так называемое, B-дерево для хранения большей части метаданных.
Том в HFS+ поделён на секторы (в HFS они назывались логическими блоками) равные 512 байтам. Один или более секторов составляют кластер, общее число кластеров зависит от объёма диска. 32-битная адресация позволяет получить доступ к более 4 294 967 296 кластерам против старых 65 536. В сравнении эти две системы имеют:
- разную длину имени файла: В HFS:31, в HFS+: 255;
- кодировку имен файлов: HFS: Mac Roman, HFS+: Unicode;
- размер узла каталога: HFS: 512 байт, HFS+: 4 Kбайт;
- и увеличен максимальный размер файла: HFS: 2^31, HFS+: 2^63.
Преимущество или Различие | Описание |
---|---|
Поддержка больших файлов | HFS+ поддерживает работу с файлами большого размера, что делает его полезным для хранения мультимедийных файлов и других объемных данных. |
Журналируемая файловая система | HFS+ имеет возможность журналирования, что уменьшает риск потери данных при сбоях системы или внезапном отключении питания. |
Поддержка Unicode | Файловая система HFS+ поддерживает кодировку Unicode, что позволяет сохранять файлы с названиями на разных языках. |
Оптимизация для использования в macOS | HFS+ разработана специально для macOS, что обеспечивает высокую производительность и стабильность работы на этих устройствах. |
Дефрагментация | Файловая система HFS+ автоматически выполняет дефрагментацию файлов, что повышает производительность при чтении и записи данных. |
Поддержка метаданных | HFS+ поддерживает расширенные метаданные, что позволяет лучше организовывать и управлять файлами. |
Совместимость с Time Machine | Файловая система HFS+ полностью совместима с функцией резервного копирования Time Machine в macOS. |
Ограничения по поддержке современных систем | HFS+ не имеет той же функциональности и надежности, как APFS (Apple File System), который является стандартом в новых версиях macOS. |
2. Архитектура HFS Plus
Пространство в HFS Plus разделено на секторы (так называемые логические блоки), которые обычно имеют размер 512 байт. Эти секторы группируются в блоки распределения (аналог кластеров в Windows), которые могут содержать один или несколько секторов. Количество блоков распределения зависит от общего размера тома. В HFS+ значение для блоков распределения равно 32-м битам. Файловая система имеет Big Endian кодировку.
Для управления размещением данных на диске HFS+ хранит на нем служебную информацию —файлы метаданных. Среди них наиболее важны для работы файловой системы и наиболее интересны при поиске пропавших данных следующие элементы:
- Заголовок раздела (Volume Header). Имеет структуру таблицы, использует расширение записей (Extents);
- Карта занятого пространства диска (Allocation File). Структура – битовая карта, использует расширение записей (Extents);
- Каталог файлов (Catalog File). Имеет структуру Би-дерева (B-Tree), использует расширение записей (Extents);
- Дополнительные расширение записей (Extents Overflow File). Имеет структуру Би-дерева (B-Tree);
- Список сбойных секторов (Bad block file). Имеет структуру Би-дерева (B-Tree);
- Файл запуска (StartUp file). Фиксированный размер;
- Журнал (Journal). Область диска с фиксированным размером и позицией.
Система содержит еще множество структур, но для восстановления данных эти имеют преобладающее значение. Для того, чтобы продолжить разбор структуры нам необходимо разобраться с базовыми понятиями – Би-дерево и расширение записей.
Что такое Би-дерево?
Для хранения части информации HFS+ используются Би-деревья. Они необходимы для записи произвольных массивов информации (к примеру, 100 MB) в блоки с фиксированным размером (к примеру, 4 KB). В этом случае в первый блок записывается не сама информация, а ссылки на последующие блоки, в которых так же могут хранится ссылки на следующий уровень блоков или непосредственно необходимая информация. Элементы дерева, которые хранят ссылки называются узлами, а элементы 0 уровня с данными называются листьями.
Что такое расширение записей и Extent Overflow File?
Для сохранения информации о занимаемых файлом секторах, HFS+ может использовать от 0 до 8 расширенных записей. Каждая запись хранит ссылку на первый сектор с данными и количество последовательно идущих кластеров, используемых под данные. Если файл сильно фрагментирован и 8 записей не хватает для описания всех частей, то оставшиеся фрагменты записываются в файл с дополнительными расширениями – Extent Overflow File.
Volume header
Заголовок тома всегда находиться во втором секторе от начала диска и содержит общую информацию о томе. Это размер блоков размещения, время создания тома и адреса размещения других структур файловой системы: Catalog File, Extent Overflow File, Allocation File, Journal и пр. Во втором секторе от конца диска всегда находится резервная копия заголовка.
Allocation file
Файл содержит информацию о свободных и занятых блоках размещения. Каждый блок представлен одним битом, значение «1» соответствует занятому блоку, а «0» — свободному. Иногда такую структуру называют битовая карта (bitmap). Файл может иметь произвольный размер и не обязательно размещается в смежных блоках. Информация о фрагментах файла описана в заголовке тома.
Catalog file
Файл хранит большую часть данных о размещении файлов и папок на диске. Это довольно большая структура представляет собой B-дерево.
Этот файл в HFS Plus очень похож на файл каталога HFS. Основное различие – это размер поля. Они стали больше и теперь вмещают больше информации. К примеру, это позволяет использовать более длинные имена Unicode файлов 255-символов. Размер записи в HFS составляет 512 байт, а в HFS Plus равен 4 КБ для Mac OS и 8 КБ для OS X. Поля в HFS имеют фиксированный размер, а в HFS Plus размер может варьироваться в зависимости от фактического размера данных.
Большинство полей хранят небольшие атрибуты, которые могут разместиться внутри 4 КБ. Для атрибутов большего размера используются дополнительны расширения (максимум 8, если необходимо больше расширений они сохраняются в Extent Overflow File). В расширениях хранятся ссылки на следующие поля, в которых лежит информации атрибута большого размера.
StartUp file
Файл предназначен для операционных систем, которые не поддерживают HFS или HFS Plus. Это похоже на загрузочные блоки из тома HFS.
Bad blocks
Файл содержит информацию о всех перемещенных (сбойных) секторах.
Journal
Журнал является не файлом, а фиксированной областью данных на диске. Ссылка на первый сектор и размер области хранится в заголовке раздела. Прежде чем записать любые изменения на диск, HFS+ записывает их в журнал, а затем в системные файлы. В случае отключения электроэнергии в момент записи можно провести восстановления файловой системы.
Необходимо учесть, что размер журнала в HFS+ ограничен и периодически его содержимое перезаписывается. Журнал загрузочного тома Mac-mini обычно перезаписывается за 5-10 минут, а MacBook за 30 минут. Если активирована Time Machine, то время сокращается до 20 секунд.
3. Восстановление данных в Time Machine
Начиная с Mac OS X Leopard, в состав системы входит Time Machine. Эта утилита создает резервные копии файлов, записывая все изменения, происходящие с файловой системой. Перечисленные действия позволяют пользователю восстановить всю систему, несколько файлов или один отдельный файл в том виде, в котором он находился в определенный момент времени.
Для работы Time Machine необходимо выделить отдельный диск. Apple выпускает специальное устройство Apple Time Capsule, которое используется как сетевой диск специально для резервных копий Time Machine. Time Machine может использоваться и с любым USB или eSata-диском. При первом запуске Time Machine создает папку на указанном резервном диске, содержащую все данные.
Потом Time Machine бдует копировать только измененные файлы. В общем, если для диска используется Time Machine, то восстановление утраченных данных не представляет особых проблем.
4. Алгоритм восстановления HFS+
Восстановление информации с файловой системы HFS+ гораздо сложнее нежели с других систем. Трудности появляются из-за того, что HFS+ используются B-деревья для хранения метаданных о размещении файлов. После того как какой-то файл удален, B-дерево тут же обновляется, и информация о размещении удаленного файла теряется.
Наша программа позволяет увидеть устройство и структуру файловой системы HFS+ в Windows без дополнительного софта и драйверов.
Этап | Описание действий |
---|---|
1. Установка программы | Скачайте и установите Hetman Partition Recovery на ваш компьютер. |
2. Подключение накопителя | Подключите HFS+ накопитель к компьютеру, если он не является внутренним. |
3. Запуск программы | Откройте Hetman Partition Recovery и выберите HFS+ накопитель в списке доступных дисков. |
4. Сканирование диска | Запустите процесс сканирования для обнаружения потерянных или удаленных файлов. |
5. Просмотр восстановленных данных | После завершения сканирования просмотрите восстановленные файлы в удобном для вас формате. |
6. Выбор файлов для восстановления | Выберите файлы, которые вы хотите восстановить, и нажмите кнопку восстановления. |
7. Сохранение восстановленных файлов | Сохраните восстановленные файлы на другой диск или внешний накопитель, чтобы предотвратить перезапись данных. |
Алгоритм утилиты при полном анализе позволяет исключить эти звенья в процессе поиска утерянных данных, и восстановить нужную нам информацию.
При быстром анализе программа читает заголовок тома (Volume header) или его резервную копию. С заголовка получает адрес файла каталога (Catalog file) и место размещения журнала на диске. Если блоки, принадлежащие удаленным файлам еще не перезаписаны она читает их и восстанавливает данные.
Если блоки удаленного файла еще не были перезаписаны, то этот способ позволит полностью восстановить файл. Даже если блоки файла перезаписаны, данные файла могут еще остаться в журнале., либо файл будет восстановлен частично.
Алгоритм полного анализа программы позволят исключить элементы цепочки в процессе поиска удаленных данных. Утилита построит структуру диска и отобразит удаленные файлы, даже если заголовок раздела и файл каталога были частично перезаписаны.
Заключение
В целом можно сказать что реализация файловой системы HFS+ является уже устаревшей на данный момент. Эта система была оптимизирована еще со старой HFS. На смену HFS+ уже пришла новая файловая система Apple File System.
HFS+ значительно уступает в скорости, безопасности и надежности APFS поэтому для нее очень актуальный вопрос восстановления данных. Информация очень редко исчезает бесследно. Хорошо зная работу файловой системы, можно восстановить даже то, что считалось безвозвратно потерянным.
"Для обнаружения потери данных на HFS+ файловой системе можно использовать следующие методы:
Проверьте корзину: если вы удаляете файлы на Mac, они могут оказаться в корзине. Если вы обнаружили, что какой-то файл отсутствует, проверьте корзину, возможно он там.
Используйте программу для восстановления данных: если файлы не найдены в корзине, вы можете попытаться восстановить их с помощью специальной программы для восстановления данных.
Проверьте журнал ошибок: HFS+ файловая система хранит журнал ошибок, в котором записываются ошибки, произошедшие с файлами и дисками. Если какой-то файл был поврежден или удален, он может быть записан в журнал ошибок.
Проверьте резервные копии: если вы делали резервные копии данных на своем Mac, вы можете попытаться восстановить отсутствующие файлы из резервной копии.
Проверьте свободное место на диске: если на диске не осталось достаточно свободного места, некоторые файлы могут быть автоматически удалены для освобождения места."
"При использовании программ для восстановления данных на HFS+ файловой системе могут возникнуть следующие проблемы:
Невозможность восстановления данных: в некоторых случаях, данные могут быть полностью утеряны или повреждены, и программы для восстановления данных не смогут их восстановить.
Повреждение данных: некачественные или несовместимые программы для восстановления данных могут повредить уже существующие данные на диске.
Несовместимость с операционной системой: некоторые программы для восстановления данных могут не работать с последними версиями операционных систем, что может привести к невозможности восстановления данных.
Неверное восстановление файлов: если вы пытаетесь восстановить файлы, которые были удалены давно, то программа для восстановления может восстановить старую версию файла, которая не будет соответствовать вашим текущим потребностям.
Потеря метаданных: при восстановлении данных с поврежденного диска или файловой системы могут быть потеряны метаданные, такие как имена файлов, даты создания и даты модификации, что может затруднить дальнейшее использование восстановленных данных."
"Для восстановления данных на HFS+ файловой системе с помощью Time Capsule следуйте этим простым шагам:
Подключите Time Capsule к компьютеру Mac по Wi-Fi или по кабелю Ethernet.
Откройте программу Time Machine на компьютере Mac.
Выберите в меню ""Time Machine"" пункт ""Восстановить из резервной копии"".
Выберите файлы или папки, которые вы хотите восстановить.
Нажмите кнопку ""Восстановить"" и дождитесь завершения процесса восстановления"
"Для восстановления данных на HFS+ файловой системе можно использовать следующие типы носителей:
Резервные копии: если у вас есть резервные копии данных, то вы можете использовать их для восстановления данных на HFS+ файловой системе. В Mac OS X Time Machine можно использовать встроенную функцию резервного копирования.
Внешний жесткий диск: вы можете подключить внешний жесткий диск к компьютеру Mac и скопировать данные на него. После этого вы можете использовать этот жесткий диск для восстановления данных.
Флэш-накопители: вы можете использовать флэш-накопители для копирования и переноса данных между компьютерами. Если у вас есть резервные копии на флэш-накопителе, то вы можете использовать их для восстановления данных на HFS+ файловой системе.
Облачное хранилище: вы можете использовать облачное хранилище, такое как iCloud или Dropbox, для хранения и синхронизации данных между устройствами. Если у вас есть резервные копии на облачном хранилище, то вы можете использовать их для восстановления данных на HFS+ файловой системе.
CD/DVD: если вы создавали резервные копии данных на CD или DVD, то вы можете использовать их для восстановления данных на HFS+ файловой системе.
RAID массив: если вы использовали RAID массив для хранения данных, то вы можете использовать его для восстановления данных на HFS+ файловой системе."
"Файловая система может быть повреждена по разным причинам, включая:
Неправильное выключение компьютера: если компьютер выключается неправильно, то это может повредить файловую систему.
Ошибка при обновлении системы: при обновлении системы могут возникнуть ошибки, которые могут повредить файловую систему.
Неисправности жесткого диска: неисправности жесткого диска, такие как сбои в работе диска или повреждения секторов, могут повредить файловую систему.
Вирусы и злонамеренное ПО: вирусы и злонамеренное ПО могут нанести ущерб файловой системе, например, удаляя файлы или изменяя их содержимое.
Недостаток свободного места на жестком диске: если на жестком диске не хватает свободного места, то это может привести к повреждению файловой системы.
Проблемы с программным обеспечением: ошибки в работе программного обеспечения, такие как сбои в работе приложений или операционной системы, могут повредить файловую систему.
Физические повреждения жесткого диска: если жесткий диск физически поврежден, то это может привести к повреждению файловой системы."