Удобный подбор конфигурации EFI для хакинтоша
Сканирование железа · Подбор кекстов · SMBIOS · Генерация серийников
Rust · Tauri 2 · React · shadcn/ui · GPL-3.0
Первый и самый муторный этап сборки хакинтоша — разобраться, что за железо у вас стоит, какие кексты к нему подойдут и какой SMBIOS выбрать. Обычно для этого нужно прошерстить гайды Dortania, вручную сверять device ID по таблицам и молиться, что ничего не забыл.
OpenEFI делает это за 30 секунд: сканирует ваше железо, подбирает совместимые кексты по device ID, рекомендует SMBIOS-модель по поколению процессора и генерирует серийные номера — в один нативный бинарник без Python, интерпретаторов и сторонних зависимостей.
| Функция | Что делает | |
|---|---|---|
| 🔍 | Сканирование железа | CPU (производитель по CPUID, кодовое имя, ядра, AVX2), GPU, сеть, аудио, Bluetooth, накопители (NVMe/SATA с предупреждениями о проблемных моделях) — на Windows, macOS и Linux. База PCI ID встроена |
| 🧩 | Подбор кекстов | 72 кекста: Lilu, VirtualSMC, WhateverGreen, AppleALC, сетевые, Bluetooth и системные драйверы — по вашим PCI ID, с учётом целевой версии macOS и зависимостей |
| 📥 | Установка в EFI | Скачивание выбранных кекстов последними релизами с GitHub и распаковка .kext прямо в EFI/OC/Kexts — без ручного копирования |
| 🍎 | Совместимость macOS | Оценка максимальной версии по GPU (NVIDIA / AMD / Intel iGPU) и поколению процессора |
| 💻 | SMBIOS | Рекомендация модели Mac по железу + каталог из 77 моделей с полными данными |
| 🔑 | Генерация серийников | Serial, MLB (с контрольной суммой), ROM и UUID — полный порт алгоритма macserial из OpenCorePkg на Rust |
| 📋 | config.plist | Полный конфиг OpenCore на базе Sample.plist: ACPI/Add, Kernel/Add (правильный порядок кекстов), DeviceProperties для iGPU, PlatformInfo с вашими серийниками |
| 🧾 | Подбор SSDT | Матрица Dortania по железу: PLUG, EC-USBX, AWAC, PMC, XOSI и другие + скачивание прекомпилированных .aml прямо в EFI/OC/ACPI одной кнопкой, с регистрацией в config.plist |
| 🔌 | USB-маппинг | Интеграция с USBToolBox: скачивание утилиты для Windows/macOS, установка готового UTBMap.kext в EFI и правка config.plist (UTBMap включён, UTBDefault отключён, USBToolBox.kext гарантированно подключён перед ним, XhciPortLimit выключен) |
| 📤 | Экспорт отчёта | JSON со всеми данными — для помощи на форумах |
| 🌗 | Тёмная и светлая тема | Переключение одним кликом |
| 🌍 | Русский и английский | Переключение языка в настройках |
Мастер из 5 шагов: Скан → Железо → macOS → Кексты → SMBIOS → Экспорт
┌─────────────────────────────────────────────┐
│ OpenEFI — сборка EFI для хакинтоша 🌙 │
├─────────────────────────────────────────────┤
│ ① Скан железа ▸ все устройства │
│ ② Выбор macOS ▸ целевая версия │
│ ③ Кексты ▸ подобраны по ID │
│ ④ SMBIOS ▸ iMac19,1 + серийники │
│ ⑤ Экспорт ▸ JSON-отчёт │
└─────────────────────────────────────────────┘
Скриншоты появятся в первом релизе.
Скачайте готовую сборку из Releases — она соберётся автоматически под вашу ОС:
| ОС | Файл |
|---|---|
| Windows | OpenEFI_x.y.z_x64-setup.exe / .msi |
| macOS (Intel + Apple Silicon) | OpenEFI_x.y.z_universal.app.tar.gz / .dmg |
| Linux | OpenEFI_x.y.z_amd64.AppImage / .deb / .rpm |
Нужны Node.js 18+, Rust и системные зависимости Tauri (инструкция):
git clone https://github.com/mel0k1/OpenEFI.git
cd OpenEFI
npm install
npm run tauri dev # режим разработки
npm run tauri build # релизная сборкаЯдро openefi-core покрыто юнит-тестами: алгоритм серийников (с контрольными суммами), кодовые имена CPU, база PCI ID, рекомендации SMBIOS, матрица BIOS-чеклиста, аудит EFI. CI гоняет их на всех трёх ОС при каждом пуше:
cd src-tauri/core
cargo testopenefi/
├── src/ # React-фронтенд (Vite + Tailwind + shadcn/ui)
│ ├── components/steps/ # шаги мастера
│ └── hooks/ # тема, буфер обмена
├── src-tauri/
│ ├── src/ # Tauri-команды (тонкий слой над ядром)
│ └── core/ # openefi-core: вся логика на Rust
│ ├── hardware.rs # сканирование PCI/USB/CPU (3 ОС)
│ ├── kexts.rs # база кекстов и алгоритм подбора
│ ├── smbios.rs # SMBIOS + порт macserial
│ ├── ssdts.rs # матрица SSDT из гайда Dortania
│ ├── config.rs # генерация config.plist (Sample.plist + ваши данные)
│ ├── bios.rs # BIOS-чеклист под железо + живые проверки Secure Boot/UEFI
│ ├── efiprotect.rs # аудит EFI, обнаружение чужих загрузчиков, бэкап EFI/OC
│ ├── opencore.rs # сборка полной EFI: OpenCorePkg + OcBinaryData одной кнопкой
│ ├── cpu_codename.rs
│ └── db.rs # встроенные базы (pci.ids, device IDs, модели Mac)
└── .github/workflows/ # CI: тесты + сборка под 3 ОС + авто-релизы
- Генерация
config.plist(ACPI / Kernel / DeviceProperties / PlatformInfo) — v0.2.0 - Подбор SSDT по железу из матрицы Dortania — v0.2.0
- Скачивание кекстов прямо в EFI-папку (GitHub Releases → EFI/OC/Kexts) — v0.3.0
- USB-маппинг: интеграция с USBToolBox (утилита + UTBMap в EFI + правка конфига) — v0.4.0
- Английская локализация (переключатель языка в настройках) — v0.4.0
- Скачивание SSDT .aml из репозитория Dortania в EFI/OC/ACPI + правка ACPI/Add — v0.5.0
- BIOS-чеклист: что включить/выключить в BIOS под ваше железо + живая проверка Secure Boot и режима загрузки — v0.6.0
- Защита EFI: аудит папки (чужие загрузчики), автоматический бэкап EFI/OC перед изменениями, гарантия невмешательства в Windows/Linux-загрузчики — v0.6.0
- Сборка полной EFI одной кнопкой: OpenCorePkg + OcBinaryData скачиваются и раскладываются автоматически, драйверы регистрируются в config.plist — v0.7.0
- OpCore-Simplify — логика подбора кекстов и SMBIOS
- RapidEFI-Tool — идеи интерфейса
- OpenCorePkg — алгоритм macserial
- Dortania — лучшая документация по хакинтошу
- Acidanthera — OpenCore и кексты
- shadcn/ui — компоненты интерфейса
GPL-3.0 © mel0k1