stringtranslate.com

Файловая система Apple

Apple File System ( APFS ) — это фирменная файловая система, разработанная и развернутая Apple Inc. для macOS Sierra (10.12.4) [6] и более поздних версий, iOS 10.3 , tvOS 10.2, [7], watchOS 3.2, [8] и всех версий iPadOS . [9] [10] Она направлена ​​на исправление основных проблем HFS + (также называемой Mac OS Extended), предшественника APFS в этих операционных системах. APFS оптимизирована для хранения на твердотельных дисках и поддерживает шифрование , моментальные снимки и повышенную целостность данных, среди прочих возможностей. [11] [12]

История

Apple File System была анонсирована на конференции разработчиков Apple ( WWDC) в июне 2016 года в качестве замены HFS+ , которая использовалась с 1998 года. [11] [12] APFS была выпущена для 64-битных устройств iOS 27 марта 2017 года с выпуском iOS 10.3, а для устройств macOS — 25 сентября 2017 года с выпуском macOS 10.13 . [13] [8]

Apple выпустила частичную спецификацию для APFS в сентябре 2018 года, которая поддерживала доступ только для чтения к файловым системам Apple File Systems на незашифрованных, не-Fusion устройствах хранения. Спецификация для программного шифрования была задокументирована позже. [14]

Дизайн

Файловая система может использоваться на устройствах с относительно небольшим или большим объемом памяти. Она использует 64-битные номера inode [2] и обеспечивает более безопасное хранение с помощью технологии, называемой Data Protection. Код APFS, как и код HFS+, использует команду TRIM для лучшего управления пространством и производительности. Она может увеличить скорость чтения-записи на iOS и macOS [8] , а также пространство на устройствах iOS из-за способа, которым APFS вычисляет доступные данные. [15]

Схема разбиения

APFS использует схему разделов GPT . В схеме GPT есть один или несколько контейнеров APFS (GUID типа раздела — 7C3457EF-0000-11AA-AA11-00306543ECAC ). В каждом контейнере есть один или несколько томов APFS, все из которых совместно используют выделенное пространство контейнера, и каждый том может иметь роли тома APFS. macOS Catalina (macOS 10.15) представила группу томов APFS, которая представляет собой группы томов, которые Finder отображает как один том. Фирменные ссылки APFS лежат между жесткими ссылками и мягкими ссылками и связывают тома.

В macOS Catalina роль тома System (обычно называемая "Macintosh HD") стала доступной только для чтения, а в macOS Big Sur (macOS 11) она стала подписанным системным томом (SSV), и монтируются только моментальные снимки тома. Роль тома Data (обычно называемая "Macintosh HD - Data") используется как наложение или тень тома System , а тома System и Data являются частью одной и той же группы томов и отображаются как один в Finder.

Клоны

Клоны позволяют операционной системе эффективно копировать файлы на том же томе, не занимая дополнительного дискового пространства. Изменения в клонированном файле сохраняются как дельта-экстенты , что сокращает дисковое пространство, необходимое для ревизий и копий документов. [10] Однако не существует интерфейса для маркировки двух копий одного и того же файла как клонов другого или для других типов дедупликации данных .

Снимки

Тома APFS поддерживают моментальные снимки для создания экземпляра файловой системы на определенный момент времени, доступного только для чтения. [10]

Шифрование

Файловая система Apple изначально поддерживает полное шифрование диска [ 2] и шифрование файлов со следующими параметрами:

Увеличено максимальное количество файлов

APFS поддерживает 64-битные номера inode , поддерживая более 9 квинтиллионов файлов (2 63 ) на одном томе. [2] [5]

Целостность данных

Файловая система Apple использует контрольные суммы для обеспечения целостности данных для метаданных, но не для пользовательских данных. [16]

Защита от столкновений

Apple File System разработана для предотвращения повреждения метаданных, вызванного сбоями системы . Вместо того, чтобы перезаписывать существующие записи метаданных на месте, она записывает совершенно новые записи, указывает на новые, а затем освобождает старые, подход, известный как перенаправление при записи . Это позволяет избежать поврежденных записей, содержащих частично старые и частично новые данные, вызванных сбоем, который происходит во время обновления. Это также позволяет избежать необходимости записывать изменения дважды, как это происходит в журналируемой файловой системе HFS+, где изменения сначала записываются в журнал, а затем в файл каталога. [16]

Сжатие

APFS поддерживает прозрачное сжатие отдельных файлов с использованием Deflate (Zlib), LZVN (libFastCompression) и LZFSE . Все три являются алгоритмами типа Lempel-Ziv . Эта функция унаследована от HFS+ и реализована с той же системой AppleFSCompression / decmpfs с использованием вилок ресурсов или расширенных атрибутов. Как и в случае с HFS+, прозрачность нарушается для инструментов, которые не используют процедуры, обернутые в decmpfs. [17]

Совместное использование пространства

APFS добавляет возможность иметь несколько логических дисков (называемых томами ) в одном контейнере, где свободное пространство доступно для всех томов в этом контейнере (блочное устройство). [18]

Ограничения

Хотя APFS включает в себя многочисленные улучшения по сравнению со своим предшественником HFS+, был отмечен ряд ограничений.

Ограниченные проверки целостности пользовательских данных

APFS не предоставляет контрольные суммы для пользовательских данных. [19] Он также не использует преимущества энергонезависимой памяти с байтовой адресацией и произвольным доступом . [20] [21]

Производительность на жестких дисках

Перечисление файлов и любых метаданных inode в целом происходит гораздо медленнее в APFS, когда они находятся на жестком диске . Это происходит потому, что вместо хранения метаданных в фиксированном месте, как это делает HFS+, APFS хранит их вместе с фактическими данными файла. Эта фрагментация метаданных означает, что при перечислении файлов выполняется больше поисков , что приемлемо для SSD, но не для HDD. [22]

Совместимость с Time Machine до macOS 11

В отличие от HFS+, APFS не поддерживает жесткие ссылки на каталоги. [3] [23] Поскольку версия программного обеспечения для резервного копирования Time Machine , включенная в Mac OS X 10.5 (Leopard) — macOS 10.15 (Catalina), полагалась на жесткие ссылки на каталоги, APFS изначально не поддерживалась для ее томов резервного копирования. [24] [23] Это ограничение было преодолено, начиная с macOS 11 Big Sur , где APFS теперь является файловой системой по умолчанию для новых резервных копий Time Machine (существующие резервные диски в формате HFS+ также по-прежнему поддерживаются). [25] Реализация Time Machine в macOS Big Sur в сочетании с дисками в формате APFS обеспечивает «более быстрое, более компактное и более надежное резервное копирование», чем это было возможно с резервными дисками в формате HFS+. [26] [27]

Проблемы безопасности

Поддерживать

macOS

Экспериментальная версия APFS с некоторыми ограничениями представлена ​​в macOS Sierra 10.12.4. Она доступна через diskutilутилиту командной строки. Среди этих ограничений — она не выполняет нормализацию Unicode , в то время как HFS+ выполняет, [33] что приводит к проблемам с языками, отличными от английского. [34] Диски, отформатированные с помощью версии APFS от Sierra, также могут быть несовместимы с более поздними версиями macOS или APFS, а версия APFS от Sierra не может использоваться с Time Machine , томами FileVault или Fusion Drives. [35]

Начиная с macOS 10.13 High Sierra , все устройства с флэш-памятью автоматически преобразуются в APFS. [36] Начиная с macOS 10.14 Mojave , Fusion Drives и жесткие диски также обновляются при установке. [37] Основной пользовательский интерфейс для обновления не предоставляет возможности отказаться от этого преобразования, и устройства, отформатированные с помощью версии APFS High Sierra, не будут считываться в предыдущих версиях macOS. [36] Пользователи могут отключить преобразование APFS, используя утилиту установщика startosinstallв командной строке и передав --converttoapfs NO. [38]

Тома FileVault не преобразуются в APFS с macOS Big Sur 11.2.1. Вместо этого macOS форматирует внешние диски FileVault как логические тома CoreStorage, отформатированные с помощью Mac OS Extended (журналируемые). Диски FileVault могут быть опционально зашифрованы. [ необходима цитата ]

iOS, tvOS и watchOS

iOS 10.3 , tvOS 10.2 и watchOS 3.2 преобразуют существующую файловую систему HFSX в APFS на совместимых устройствах. [13] [8] [39]

Сторонние утилиты

Несмотря на повсеместность томов APFS в современных компьютерах Mac и введение формата в 2016 году, сторонние утилиты восстановления продолжают иметь заметные ограничения в поддержке томов APFS из-за задержки выпуска полной документации Apple. По данным компании Alsoft, создателя DiskWarrior, выпуск Apple в 2018 году частичной документации по формату APFS задержал создание версии DiskWarrior, которая может безопасно восстанавливать диски APFS. [40] Ожидается, что конкурирующие продукты, включая TechTool от MicroMat и Drive Genius от Prosoft, также увеличат поддержку APFS.

Paragon Software Group опубликовала комплект для разработки программного обеспечения под лицензией BSD с 4 пунктами , который поддерживает доступ только для чтения к дискам APFS. [41] Независимая реализация с открытым исходным кодом только для чтения, разработанная Йоахимом Метцем, libfsapfs, выпущена под лицензией GNU Lesser General Public License v3. Она была упакована в репозитории программного обеспечения Debian , Fedora Linux , Rocky Linux , Red Hat Enterprise Linux и Ubuntu . [42] [43] [44] Оба являются инструментами командной строки, которые не предоставляют обычный интерфейс драйвера файловой системы. Существует драйвер файловой системы в пользовательском пространстве (FUSE) для Linux, называемый apfs-fuse с доступом только для чтения. [45] Проект «APFS для Linux» работает над интеграцией поддержки APFS в ядро ​​Linux. [46]

Коммерческий продукт APFS для Windows от Paragon обеспечивает поддержку чтения и записи на томах APFS во всех версиях Windows от Windows 7 до Windows 11 и от Windows Server 2008 R2 до Windows Server 2022, но он не может форматировать или проверять тома APFS, а также не может читать тома APFS, которые аппаратно зашифрованы с помощью чипа безопасности Apple T2 . [47]

Смотрите также

Ссылки

  1. ^ ab Hansen, KH; Toolan, F. (21 сентября 2017 г.). «Декодирование файловой системы APFS». Digital Investigation . 22 : 107–132. doi : 10.1016/j.diin.2017.07.003. ISSN  1742-2876.
  2. ^ abcdef "Сравнение форматов томов". Apple Developer . Получено 25 мая 2018 г.
  3. ^ abc "Руководство по файловой системе Apple / Часто задаваемые вопросы" . Получено 25 мая 2018 г. .
  4. ^ Бертен, Рене. «Сжатие и APFS». Github . Получено 2 февраля 2019 г.
  5. ^ abc Apple Inc. "Руководство по файловой системе Apple (Функции)" . Получено 16 декабря 2023 г. .
  6. ^ Виго, Иисус (13 апреля 2017 г.). «Как настроить и использовать файловую систему Apple APFS на macOS Sierra». TechRepublic.
  7. ^ "tvOS 10.2". Что нового в tvOS . Apple Inc.
  8. ^ abcd Уоррен, Том (27 марта 2017 г.). «Apple обновляет миллионы устройств iOS до новой современной файловой системы сегодня». The Verge . Vox Media . Архивировано из оригинала 27 марта 2017 г. . Получено 27 марта 2017 г. .
  9. ^ Роджер Фингас (13 июня 2016 г.). «Файловая система Apple будет масштабироваться от Apple Watch до Mac, заменит HFS+». Apple Insider . Архивировано из оригинала 23 июля 2016 г.
  10. ^ abcd Хатчинсон, Ли (13 июня 2016 г.). «Изучаем APFS, новую файловую систему Apple». Ars Technica UK . Получено 15 июня 2016 г.
  11. ^ ab Weintraub, Seth (13 июня 2016 г.). «Apple File System (APFS) анонсирована на 2017 год, масштабируется „от Apple Watch до Mac Pro“ и фокусируется на шифровании». 9to5Mac . Архивировано из оригинала 28 марта 2017 г. . Получено 27 марта 2017 г. .
  12. ^ ab Hutchinson, Lee (13 июня 2016 г.). «Новая файловая система обнаружена в macOS Sierra [Обновлено]». Ars Technica . Condé Nast . Архивировано из оригинала 28 марта 2017 г. . Получено 27 марта 2017 г. .
  13. ^ ab Clover, Juli (27 марта 2017 г.). «Apple Releases iOS 10.3 With Find My AirPods, APFS, App Store Review Tweaks and More». MacRumors . Архивировано из оригинала 27 марта 2017 г. Получено 27 марта 2017 г.
  14. ^ "Справочник по файловой системе Apple" (PDF) . Разработчик Apple.
  15. ^ Алан Локнейн (апрель 2017 г.). «Обновление iPhone даст вам одно важное преимущество». joe.co.uk . Архивировано из оригинала 20 мая 2017 г.
  16. ^ ab Adam Leventhal (19 июня 2016 г.). "APFS in Detail: Data Integrity". Архивировано из оригинала 21 июня 2016 г.
  17. ^ Søgaard, Jens K. «Как включить прозрачное сжатие в APFS?». Ask Different . Получено 13 ноября 2019 г. .
  18. ^ Тамура, Эрик; Джампаоло, Доминик (2016). «Знакомство с файловой системой Apple» (PDF) . Получено 28 мая 2022 г.
  19. ^ «Анализ хорошего и плохого в новой файловой системе APFS от Apple, проведенный разработчиком ZFS». Ars Technica . 26 июня 2016 г.
  20. ^ Робин Харрис (24 июня 2016 г.). «Почему APFS от Apple не прослужит 30 лет». ZDNet .
  21. ^ Адам Левенталь (19 июня 2016 г.). "APFS in Detail: Overview" . Получено 1 октября 2017 г. .
  22. ^ "Анализ производительности перечисления APFS на вращающихся жестких дисках". Carbon Copy Cloner . Получено 8 января 2020 г.
  23. ^ ab Leventhal, Adam H. (26 июня 2016 г.). «Анализ разработчика ZFS хорошего и плохого в новой файловой системе APFS от Apple». Ars Technica . APFS в настоящее время несовместима с Time Machine из-за отсутствия жестких ссылок на каталоги, довольно отвратительная реализация, которая, вероятно, способствует сомнительной надежности Time Machine.
  24. ^ "Диски, которые можно использовать с Time Machine" . Получено 17 декабря 2019 г. .
  25. ^ "Изменения APFS в Биг-Суре". 29 июня 2020 г. Получено 26 ноября 2020 г.
  26. ^ "Заметки о выпуске macOS Big Sur 11.0.1". Apple . Получено 13 декабря 2020 г. .
  27. ^ Каннингем, Эндрю (12 ноября 2020 г.). «macOS 11.0 Big Sur: обзор Ars Technica». Ars Technica . Получено 6 марта 2021 г. .
  28. ^ "Ого! Унифицированные журналы в High Sierra (10.13) показывают открытый текстовый пароль для внешних томов, зашифрованных с помощью APFS, через Disk Utility.app". mac4n6 . 21 марта 2018 г. . Получено 11 ноября 2019 г. .
  29. ^ "О безопасности содержимого iOS 14.4 и iPadOS 14.4 - Поддержка Apple". Поддержка Apple . Получено 7 февраля 2021 г. .
  30. ^ "О безопасности содержимого macOS Big Sur 11.2, Обновление безопасности 2021-001 Catalina, Обновление безопасности 2021-001 Mojave - Поддержка Apple". Поддержка Apple . Получено 7 февраля 2021 г. .
  31. ^ "О безопасности содержимого watchOS 7.3 - Поддержка Apple". Поддержка Apple . Получено 7 февраля 2021 г. .
  32. ^ "О безопасности содержимого tvOS 14.4 - Поддержка Apple". Поддержка Apple . Получено 7 февраля 2021 г. .
  33. ^ Цай, Майкл Дж. «Майкл Цай — Блог — Имена файлов «мешка байтов» APFS».
  34. ^ «APFS в настоящее время не может использоваться с большинством языков, отличных от английского». 6 апреля 2017 г. Архивировано из оригинала 8 июня 2017 г.
  35. ^ "Как отформатировать диск с файловой системой APFS в macOS Sierra". Архивировано из оригинала 26 октября 2016 г. Получено 26 октября 2016 г.
  36. ^ ab "Подготовка к APFS в macOS High Sierra". Apple.com . 7 сентября 2017 г. Получено 19 сентября 2017 г.
  37. ^ "macOS 10.14 Mojave: обзор Ars Technica". arstechnica.com . 25 сентября 2018 г. . Получено 20 декабря 2018 г. .
  38. ^ Trouton, Rich (26 сентября 2017 г.). «Использование инструмента startosinstall установщика macOS High Sierra OS для избежания преобразования APFS». Der Flounder . Получено 16 января 2018 г.
  39. ^ "jakepetroules/Filesystem". GitHub . Получено 29 марта 2017 г. .
  40. ^ "DiskWarrior 5.2 и файловая система Apple (APFS)" . Получено 28 июня 2020 г. .
  41. ^ "Paragon Software Group выпускает бесплатную версию Paragon APFS SDK Community Edition для разработчиков ПО, OEM-производителей и экспертов-криминалистов". Paragon Software Group .GitHub
  42. ^ "libyal/libfsapfs". GitHub . 7 ноября 2019 г. Библиотека и инструменты для доступа к файловой системе Apple (APFS)
  43. ^ "apfs-fuse - Пакеты Fedora". packages.fedoraproject.org . Получено 20 октября 2022 г. .
  44. ^ "apfs-fuse-20200928-1.el9.x86_64.rpm". rhel.pkgs.org .
  45. ^ Росс, Алистер (23 февраля 2019 г.). «Как монтировать тома дисков macOS APFS в Linux». The Ultimate Linux Newbie Guide .(Гитхаб)
  46. ^ "linux-apfs/linux-apfs-rw: модуль APFS для Linux с экспериментальной поддержкой записи". GitHub . APFS для Linux. 4 февраля 2022 г.
  47. ^ "APFS для Windows | Paragon Software". Paragon Software Group . Получено 29 января 2024 г.

Внешние ссылки