Гид по технологиям

Как добавлять и удалять Kext (ядровые расширения) в macOS

• 7 min read • macOS • Обновлено 30 Nov 2025
Как добавить и удалить kext в macOS
Как добавить и удалить kext в macOS

Что такое kext простыми словами

Kext (kernel extension) — это модуль, который расширяет функциональность ядра Darwin в macOS. Проще: это драйвер, который позволяет ядру общаться с оборудованием или реализовывать низкоуровневые функции. Определение: kext — файл с расширением .kext, который обычно выглядит как папка-пакет с ресурсами и метаданными.

Коротко о терминах:

  • kext: ядровое расширение, расширяет возможности ядра macOS.
  • SIP (System Integrity Protection): механизм защиты macOS, блокирующий изменение некоторых системных областей.

Важно: Неправильное удаление или установка кext может привести к потерям данных или неработоспособности системы. Всегда делайте резервную копию и тщательно проверяйте, что вы удаляете.

Совместимость: Big Sur и новее

Apple постепенно переводит разработчиков на безопасные альтернативы (DriverKit, Network Extension и другие API), и с выходом macOS Big Sur ряд kext либо не поддерживается, либо требует дополнительных шагов для установки. Это означает:

  • На Big Sur и новее установка kext проблематична и часто не требуется.
  • Для новых устройств и macOS рекомендуются системные расширения или DriverKit.

Если у вас современный Mac с Apple Silicon (M1/M2), поддержка старых kext особенно ограничена.

Где находятся kext на Mac

Обычно kext располагаются в одном из двух каталогов:

  • /System/Library/Extensions — основной каталог системных kext.
  • /Library/Extensions — каталог для дополнений третьих сторон.

Файлы распознаются по расширению .kext и иконке пакета-плагина.

Папка системных расширений macOS

Прежде чем менять kext — чеклист

  1. Снимите резервную копию Time Machine или сделайте полную резервную копию диска.
  2. Убедитесь, что у вас есть доступ администратора.
  3. Узнайте, нужен ли этот kext для аппаратного устройства или функциональности.
  4. Проверьте, включён ли SIP; если да, знайте риски его временного отключения.

Как удалить kext безопасно (рекомендуемый метод)

Первый и наиболее безопасный способ — выгрузить kext из памяти перед удалением.

  1. Определите точное имя kext. Ошибка в имени может удалить важные компоненты.
  2. Откройте Terminal и выполните команду:
sudo kextunload /System/Library/Extensions/kext.kext

Замените “kext.kext” на точное имя файла, например:

sudo kextunload /System/Library/Extensions/AppleMobileDevice.kext
  1. После выполнения команды введите пароль администратора и нажмите Enter.
  2. Если kext выгрузился без ошибок, можно удалить его из файловой системы через Finder или командой rm (см. ниже), а затем перезагрузить систему.

Терминал удаление kext macOS

Форсированное удаление kext (если выгрузить нельзя)

Если kext не удаётся выгрузить, можно удалить файл напрямую. Это более рискованно: удаление системно-критических kext может привести к нестабильности. Лучше использовать этот метод только если вы точно знаете, что делаете.

Команда удаления (правильно):

sudo rm -rf /System/Library/Extensions/kext.kext

Пример с реальным именем:

sudo rm -rf /System/Library/Extensions/AppleIntelE1000e.kext
  1. Введите пароль администратора.
  2. После удаления перезагрузите компьютер:
sudo shutdown -r now

Удаление kext и перезагрузка macOS

Важно: Убедитесь, что kext не используется системой в момент удаления. Если вы сомневаетесь, сделайте перезагрузку в безопасном режиме (Safe Mode) и затем удалите.

System Integrity Protection (SIP) и kext

SIP блокирует модификацию некоторых системных директорий, включая /System. Чтобы изменять kext в защищённых зонах, иногда приходится временно отключать SIP. Процесс:

  1. Перезагрузите Mac в Recovery Mode (Command+R при загрузке на Intel; для Apple Silicon — удерживайте кнопку питания и выберите Recovery).
  2. Откройте Terminal в режиме восстановления и выполните:
csrutil disable
  1. Перезагрузите систему, внесите изменения (удаление/установка kext), затем снова включите SIP:
csrutil enable

Не отключайте SIP без крайней необходимости. После изменений включите его обратно.

Как установить kext автоматически с KextBeast (старые системы)

Примечание: Метод применим только для систем до Big Sur и для тех случаев, когда поставщик kext рассчитан на такую установку.

  1. Скачайте KextBeast с доверенного источника (например, tonymacx86) и распакуйте.
  2. Поместите нужный kext на рабочий стол (~/Desktop). KextBeast автоматически обрабатывает файлы на рабочем столе.

Переместите kext на рабочий стол

  1. Откройте KextBeast и нажмите «Continue» (Продолжить).

KextBeast интерфейс

  1. Выберите загрузочный диск и папку установки — обычно /System/Library/Extensions или /Library/Extensions.

Выбор диска для установки kext

  1. Подтвердите установку, введите пароль администратора и дождитесь завершения процесса.

Установка kext через KextBeast

  1. Перезагрузите компьютер.

Перезагрузка после установки kext

Замечание: KextBeast изначально создавался для Hackintosh-сообщества. На оригинальных Mac используйте штатные инструменты или официальные пакеты разработчиков.

Как установить kext вручную

Если вы работаете на macOS старше Big Sur и предпочитаете ручной подход:

  1. Перетащите kext в /System/Library/Extensions (или в /Library/Extensions для сторонних модулей).

Перетаскивание kext в папку Extensions

  1. Подтвердите действие через диалог аутентификации (Authenticate) и введите пароль администратора.

Диалог аутентификации macOS

  1. В Terminal выполните команду для загрузки модуля:
sudo kextload /System/Library/Extensions/kext.kext
  1. При необходимости исправьте права и владельца пакета:
sudo chown -R root:wheel /System/Library/Extensions/kext.kext
sudo chmod -R 755 /System/Library/Extensions/kext.kext
sudo kextcache -i /
  1. Перезагрузите компьютер.

kextload команда в Terminal

Альтернативы kext для современных macOS

Apple советует использовать DriverKit и System Extensions вместо kext. Кратко:

  • DriverKit: безопасная альтернатива для драйверов в пространстве пользователя, поддерживается на современных macOS.
  • System Extensions / Network Extension: для сетевых и фоновых функций без запуска в ядре.

Если вы разрабатываете драйверы для современных macOS, изучите DriverKit и официальную документацию Apple.

Когда изменения с kext не сработают

  • SIP включён и блокирует запись в /System; без отключения SIP вы не сможете изменить системные kext.
  • На Big Sur+ некоторые kext физически несовместимы с новым ядром и архитектурой.
  • На Apple Silicon старые kext могут просто не запускаться.

Если после удаления или установки система не загружается, загрузитесь в режиме восстановления (Recovery) или в безопасном режиме и восстановите удалённый kext из резервной копии.

Быстрая шпаргалка команд (Cheat sheet)

  • Выгрузить kext:
sudo kextunload /System/Library/Extensions/Name.kext
  • Загрузить kext:
sudo kextload /System/Library/Extensions/Name.kext
  • Удалить файл пакета (форсированно):
sudo rm -rf /System/Library/Extensions/Name.kext
  • Обновить кэш kext и права:
sudo chown -R root:wheel /System/Library/Extensions/Name.kext
sudo chmod -R 755 /System/Library/Extensions/Name.kext
sudo kextcache -i /
  • Перезагрузить сразу:
sudo shutdown -r now

Рольные чек-листы перед работой с kext

Администратор:

  • Сделать образ или Time Machine резервную копию.
  • Проверить совместимость kext с версией macOS.
  • Отключить SIP только при крайней необходимости.

Пользователь/энтузиаст:

  • Поискать современную альтернативу (DriverKit).
  • Попросить разработчика предоставить подписанный и актуальный kext.

Разработчик:

  • Подписывать kext и предоставлять инструкцию по установке.
  • Поддерживать совместимость с новыми macOS или портировать на DriverKit.

Критерии приёмки

  • Kext успешно выгружен/установлен без ошибок в Terminal.
  • Система загружается нормально после перезагрузки.
  • Устройство/функция, зависящая от kext, работает корректно.
  • SIP возвращён в состояние “включён” после изменений (если вы его отключали).

Простая методика решения проблем с kext

  1. Идентифицируйте проблемный kext по логам (Console) или по поведению устройства.
  2. Попробуйте выгрузить его через kextunload.
  3. Если не удалось, загрузитесь в безопасном режиме и попытайтесь удалить.
  4. В крайнем случае восстановите систему из резервной копии.

Диаграмма принятия решения

flowchart TD
  A[Есть проблема с устройством?] --> B{macOS версия}
  B --> |Big Sur или новее| C[Использовать DriverKit/системные расширения]
  B --> |До Big Sur| D[Попробовать kextunload]
  D --> E{Удалось выгрузить?}
  E --> |Да| F[Удалить kext и перезагрузить]
  E --> |Нет| G[Загрузиться в Recovery, проверить SIP]
  G --> H{SIP мешает?}
  H --> |Да| I[Отключить SIP временно, удалить/установить, включить SIP]
  H --> |Нет| J[Восстановить из бэкапа]

Часто задаваемые вопросы

Как получить доступ к системным расширениям в Big Sur?

Перейдите в Системные настройки -> Расширения, чтобы просмотреть установленные расширения, включая встроенные и сторонние.

Система заблокировала расширение. Что делать?

Откройте Системные настройки -> Безопасность и конфиденциальность -> Основные. Внизу окна может быть кнопка “Разрешить” рядом с сообщением о блокировке системного ПО от разработчика. Нажмите на замок внизу слева, введите пароль администратора и нажмите “Разрешить”.

Системные расширения и kext — это одно и то же?

Нет. Они преследуют схожую цель (расширять функциональность), но работают по-разному. Kext выполняются в пространстве ядра и имеют более высокий риск повлиять на стабильность системы. Системные расширения и DriverKit работают вне ядра и считаются безопаснее.

Когда обращаться за помощью

Если вы не уверены в действиях, обратитесь к официальной документации Apple или в сервисный центр. Также ищите поддержку у разработчика кext — многие поставляют инструкции и подписанные пакеты для установки.

Резюме

Kext — мощный, но потенциально опасный инструмент. На современных версиях macOS предпочтительнее использовать DriverKit и системные расширения. Если вам всё же нужно удалять или устанавливать kext на старой системе, делайте это аккуратно: выгружайте модули через kextunload/kextload, держите резервные копии и уважайте защиту SIP. При проблемах используйте безопасный режим, Recovery и восстановление из резервной копии.

Дополнительно: иногда полезно уметь удалять зависшие файлы и очищать кэш kext, но это уже более продвинутые операции — выполняйте их только при необходимости и с полной резервной копией системы.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро