Как добавлять и удалять 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 и иконке пакета-плагина.

Прежде чем менять kext — чеклист
- Снимите резервную копию Time Machine или сделайте полную резервную копию диска.
- Убедитесь, что у вас есть доступ администратора.
- Узнайте, нужен ли этот kext для аппаратного устройства или функциональности.
- Проверьте, включён ли SIP; если да, знайте риски его временного отключения.
Как удалить kext безопасно (рекомендуемый метод)
Первый и наиболее безопасный способ — выгрузить kext из памяти перед удалением.
- Определите точное имя kext. Ошибка в имени может удалить важные компоненты.
- Откройте Terminal и выполните команду:
sudo kextunload /System/Library/Extensions/kext.kextЗамените “kext.kext” на точное имя файла, например:
sudo kextunload /System/Library/Extensions/AppleMobileDevice.kext- После выполнения команды введите пароль администратора и нажмите Enter.
- Если kext выгрузился без ошибок, можно удалить его из файловой системы через Finder или командой rm (см. ниже), а затем перезагрузить систему.

Форсированное удаление kext (если выгрузить нельзя)
Если kext не удаётся выгрузить, можно удалить файл напрямую. Это более рискованно: удаление системно-критических kext может привести к нестабильности. Лучше использовать этот метод только если вы точно знаете, что делаете.
Команда удаления (правильно):
sudo rm -rf /System/Library/Extensions/kext.kextПример с реальным именем:
sudo rm -rf /System/Library/Extensions/AppleIntelE1000e.kext- Введите пароль администратора.
- После удаления перезагрузите компьютер:
sudo shutdown -r now
Важно: Убедитесь, что kext не используется системой в момент удаления. Если вы сомневаетесь, сделайте перезагрузку в безопасном режиме (Safe Mode) и затем удалите.
System Integrity Protection (SIP) и kext
SIP блокирует модификацию некоторых системных директорий, включая /System. Чтобы изменять kext в защищённых зонах, иногда приходится временно отключать SIP. Процесс:
- Перезагрузите Mac в Recovery Mode (Command+R при загрузке на Intel; для Apple Silicon — удерживайте кнопку питания и выберите Recovery).
- Откройте Terminal в режиме восстановления и выполните:
csrutil disable- Перезагрузите систему, внесите изменения (удаление/установка kext), затем снова включите SIP:
csrutil enableНе отключайте SIP без крайней необходимости. После изменений включите его обратно.
Как установить kext автоматически с KextBeast (старые системы)
Примечание: Метод применим только для систем до Big Sur и для тех случаев, когда поставщик kext рассчитан на такую установку.
- Скачайте KextBeast с доверенного источника (например, tonymacx86) и распакуйте.
- Поместите нужный kext на рабочий стол (~/Desktop). KextBeast автоматически обрабатывает файлы на рабочем столе.

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

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

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

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

Замечание: KextBeast изначально создавался для Hackintosh-сообщества. На оригинальных Mac используйте штатные инструменты или официальные пакеты разработчиков.
Как установить kext вручную
Если вы работаете на macOS старше Big Sur и предпочитаете ручной подход:
- Перетащите kext в /System/Library/Extensions (или в /Library/Extensions для сторонних модулей).

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

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

Альтернативы 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
- Идентифицируйте проблемный kext по логам (Console) или по поведению устройства.
- Попробуйте выгрузить его через kextunload.
- Если не удалось, загрузитесь в безопасном режиме и попытайтесь удалить.
- В крайнем случае восстановите систему из резервной копии.
Диаграмма принятия решения
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, но это уже более продвинутые операции — выполняйте их только при необходимости и с полной резервной копией системы.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента