Руководство

FSKit: как приложения добавляют файловые системы в macOS

Десятилетиями новый вид диска на Mac означал код внутри ядра. FSKit позволяет сделать то же обычному приложению, а macOS 26 расширила круг того, что такое приложение может смонтировать.

FSKit представляет собой фреймворк Apple для файловых систем, которые создают приложения. Приложение поставляется с небольшим расширением, расширение работает в пространстве пользователя, как любой другой процесс, а macOS монтирует то, что оно предоставляет, как том в Finder. До FSKit сторонняя файловая система означала расширение ядра, а на Mac с чипом Apple ещё и снижение уровня безопасности в режиме восстановления.

FSKit появился в macOS Sequoia 15.4, в марте 2025 года, для файловых систем, которые хранятся на диске. В macOS 26 добавились два новых вида источников, путь и URL, так что теперь файловая система может брать данные из папки, с сервера или с устройства на другом конце кабеля. Для вас всё сводится к одному переключателю в Системных настройках: Основные > Объекты входа и расширения > Расширения файловых систем.

Что делает файловая система

За каждым томом на Mac стоит файловая система. Когда Finder показывает содержимое папки или приложение открывает файл, macOS запрашивает у этой файловой системы имена, размеры, даты и байты, а файловая система отвечает оттуда, где лежат данные: для APFS это раздел на SSD, для exFAT карта памяти, для SMB сервер.

Модуль FSKit и есть эта отвечающая часть, упакованная как расширение внутри приложения. В документации Apple он называется FSModule, и там описаны три понятия: ресурс, откуда берутся данные; контейнер, который превращает ресурс в тома; и сам том, то есть папки и файлы, которые вы видите. FSKit связывает модуль с частями macOS, которые уже работают с дисками и монтированием, в том числе с Disk Arbitration и командой mount. Пока FSKit поддерживает только простую схему, один ресурс и один том, и, как отмечает Apple, так устроено большинство собственных файловых систем Mac.

До FSKit: расширения ядра и macFUSE

Расширение ядра работает внутри ядра, сердцевины macOS, с полным доступом к компьютеру. Одна ошибка в нём может обрушить весь Mac. Apple их больше не рекомендует, а на Mac с чипом Apple любое стороннее расширение ядра по умолчанию заблокировано. Чтобы разрешить его, нужно выключить Mac, загрузиться в режиме восстановления, открыть Утилиту безопасной загрузки, выбрать Сниженный уровень безопасности и отметить Разрешить пользователям управлять расширениями ядра от подтверждённых разработчиков, затем одобрить расширение и снова перезагрузиться.

Вокруг этого и вырос macFUSE. Это одно расширение ядра, поверх которого многие файловые системы работают как обычные программы; именно так многие сторонние файловые системы годами попадали на Mac. По умолчанию macFUSE по-прежнему использует расширение ядра. Начиная с версии 5 macFUSE предлагает и бэкенд на FSKit, которому не нужны ни расширение ядра, ни изменения в режиме восстановления. В собственной документации macFUSE перечислено, чего этот бэкенд пока не умеет, в том числе монтировать вне /Volumes, и сказано, что тома на FSKit работают у него хуже, чем тома через ядро.

Собственные файловые системы Apple движутся в том же направлении. В macOS Sonoma она вынесла exFAT и FAT из ядра в службы, которые работают в пространстве пользователя.

Расширение ядраМодуль FSKit
Где работает кодВнутри ядраВ пространстве пользователя, как расширение приложения
Ошибка может обрушить весь MacДаНет, но зависший модуль может мешать монтированию до перезагрузки
Режим восстановления и сниженный уровень безопасности на Mac с чипом AppleОбязательныНе нужны
Продажа через Mac App StoreНетРазрешена
Где включаетсяНа Mac с чипом Apple: режим восстановления, затем Системные настройки, затем перезагрузкаВ Системных настройках, один раз для каждой учётной записи
Доступно сСамой первой Mac OS XmacOS 15.4, пути и URL с macOS 26
Два способа, которыми сторонняя файловая система может попасть на Mac сегодня.

Что добавила macOS 26

В macOS 15.4 ресурсом, который FSKit передавал модулю, был раздел диска, FSBlockDeviceResource. Это подходит для файловой системы под формат накопителя, например ext4 или NTFS на USB-диске, и именно на такие системы FSKit тогда и был рассчитан.

macOS 26 добавила ещё два типа ресурсов. FSPathURLResource представляет путь на Mac, папку или файл, и FSKit передаёт URL с областью безопасности (security-scoped URL) в целости от приложения, которое запрашивает монтирование, к модулю. FSGenericURLResource представляет вообще любой URL. Модуль объявляет в своём Info.plist, какие схемы URL он понимает, а смысл самого URL FSKit целиком оставляет модулю. В примерах самой Apple это адрес устройства и сетевой адрес удалённой файловой системы.

Именно второй тип и позволяет смонтировать телефон. Модуль SideMount монтируется по URL adb://, в котором указан телефон, и обращается к телефону по кабелю через протокол adb, тот самый, которым пользуются инструменты разработчика Android. Диска в этой цепочке нет нигде, поэтому SideMount нужна macOS 26 или новее.

Как включить расширение FSKit

macOS не запустит расширение файловой системы, пока вы этого не разрешите. Каждое приложение на FSKit просит об этом один раз:

  1. Откройте Системные настройки > Основные > Объекты входа и расширения.
  2. Прокрутите вниз до раздела Расширения и переключите список в режим По категории. В режиме «По приложению» строки «Расширения файловых систем» нет, и именно здесь застревает большинство.
  3. Откройте Расширения файловых систем и включите расширение приложения.

Переключатель относится к вашей учётной записи. Как объяснил инженер Apple, FSKit построен на расширениях приложений, а они действуют в рамках одного пользователя, так что на общем Mac каждая учётная запись включает расширение отдельно. Тем же переключателем его можно выключить. В руководстве по настройке SideMount эти шаги показаны с картинками.

Что это значит, когда вы им пользуетесь

Том FSKit ведёт себя как любой другой диск. Он появляется в Finder, у него есть путь, которым могут пользоваться Терминал и скрипты, и любое приложение может открывать, сохранять и копировать на нём файлы. В этом его отличие от приложений, которые показывают файлы в собственном окне, как большинство приложений для MTP, и поэтому телефон, смонтированный таким способом, работает с rsync, Photoshop или VLC. Как это выглядит на деле, рассказано в статье о том, как использовать телефон Android как внешний диск.

Одна привычка важна. Извлекайте том FSKit обычным способом, из Finder или из приложения, а не принудительно. Служба FSKit в macOS, fskitd, может зависнуть после принудительного размонтирования, и тогда помогает только перезагрузка Mac. К тому же FSKit ещё молод: кое-что из того, что умеет файловая система в ядре, во фреймворке пока не появилось, так что заметки к каждому приложению стоит прочитать.

Вопросы

Какая версия macOS нужна для FSKit?

Фреймворк есть начиная с macOS Sequoia 15.4. Файловым системам, которые читают данные по пути или URL, а не с диска, например тем, что обращаются к телефону или серверу, нужна macOS 26, потому что эти типы ресурсов появились именно в ней. Минимальную версию каждое приложение указывает само.

Почему в Системных настройках не найти «Расширения файловых систем»?

Список «Расширения» в разделе «Основные > Объекты входа и расширения» можно показать двумя способами. «Расширения файловых систем» есть только в режиме «По категории», так что переключитесь на него, и строка будет на месте.

FSKit и File Provider одно и то же?

Нет. Через File Provider приложения облачных хранилищ показывают удалённые файлы в Finder и загружают их по мере надобности. FSKit монтирует настоящий том с путём, которым могут пользоваться любое приложение и Терминал.

Безопасно ли включать расширение файловой системы?

Расширение FSKit работает в пространстве пользователя как часть подписанного приложения, без того доступа к ядру, который есть у расширения ядра, и не требует менять параметры безопасной загрузки Mac. Включайте только расширения приложений, которым доверяете; тот же переключатель в Системных настройках выключает каждое из них.

Ваш телефон Android в Finder.

Семь дней бесплатно, без карты. macOS 26 или новее.

Скачать для macOS