This guide walks you through creating a full OpenCore EFI with OpCore Simplify. You will start from a fresh download and finish with aDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/lzhoang2801/OpCore-Simplify/llms.txt
Use this file to discover all available pages before exploring further.
Results/ folder ready to copy to your USB drive. The entire process is interactive — the tool prompts you at every stage, so you do not need to edit any files by hand.
All generated files are written to the
Results/ folder inside your OpCore Simplify directory (for example C:\Tools\OpCore-Simplify-main\Results\ on Windows or ~/Tools/OpCore-Simplify-main/Results/ on macOS/Linux). The tool opens this folder automatically when the build finishes.Download and launch OpCore Simplify
If you have not yet installed OpCore Simplify, follow the Installation guide to download the ZIP, extract it, and run the correct launcher for your platform (All other options are locked until you complete Step 2 and load a hardware report.
OpCore-Simplify.bat on Windows, OpCore-Simplify.command on macOS, or python3 OpCore-Simplify.py on Linux).After the automatic update check completes you will see the main menu:Export or load the hardware report
The hardware report is a Type On macOS or Linux: Hardware Sniffer is Windows-only, so you must generate the report on a Windows machine first. Run Hardware Sniffer on Windows to produce
Report.json file that contains a complete snapshot of your system: CPU, GPU, chipset, storage controllers, network adapters, Bluetooth, BIOS firmware type, Secure Boot state, and Resizable BAR information. The tool also reads a paired ACPI dump (a folder of .aml table files) to generate accurate SSDT patches.On Windows (recommended): At the “Select hardware report” prompt you will see an extra option:E and press Enter. OpCore Simplify launches Hardware Sniffer automatically, collects your hardware data, dumps your ACPI tables, and saves everything to a SysReport/ folder inside the tool’s directory. The report is loaded immediately — no further action required.Hardware Sniffer cannot capture Resizable BAR status or monitor connection details when running inside Windows PE. For the most accurate report, run the export from a normal booted Windows session.
Report.json and the ACPI/ dump folder, copy the SysReport/ folder to your macOS or Linux machine, then drag and drop Report.json into the terminal prompt (or type its full path) and press Enter.Once a valid report is loaded, the tool automatically runs the full setup chain without returning to the main menu: compatibility check → macOS version selection (Step 3) → hardware customization → SMBIOS selection → ACPI table check → ACPI patch selection → kext selection → SMBIOS-specific options. You only interact at the macOS version picker prompt; everything else is determined automatically from your hardware.Review compatibility and macOS version selection
As part of the automatic chain launched by option 1, OpCore Simplify first runs its Compatibility Checker. It evaluates every detected device against its internal hardware database and flags:Press Enter to accept the default, or type a major version number (e.g.
- Devices with no macOS support (will be disabled in the EFI)
- Devices that require OpenCore Legacy Patcher for certain macOS versions
- The native macOS range your hardware supports without patching
21) or a full Darwin version string (e.g. 22.4.6) to override it.Review ACPI patches and kexts (optional customisation)
After macOS selection, OpCore Simplify automatically assembles the ACPI patch list and kext set for your hardware. You do not need to change anything here for a first build — but the menu lets you fine-tune both if needed.Option 3 — Customize ACPI Patch: Displays every detected ACPI patch with a checkbox. Common patches applied automatically include
FakeEC, FixHPET, PLUG, RTCAWAC, PNLF, USBX, XOSI, sleep-wake fixes, and device-disable patches for unsupported GPUs, Wi-Fi cards, or NVMe controllers. Toggle any patch on or off.Option 4 — Customize Kexts: Lists all kexts in the build with their enable/disable state. You can also force-load a kext on an unsupported macOS version from this menu — useful for testing pre-release macOS builds.Option 5 — Customize SMBIOS Model: Shows the automatically chosen Mac model identifier (e.g. MacBookPro18,1 or iMacPro1,1) and lets you substitute a different one. Only change this if you have a specific reason — the default is optimised for power management and performance on your CPU generation.Build the OpenCore EFI
Select option 6 from the main menu and press Enter.If your chosen macOS version requires OpenCore Legacy Patcher, the tool will show the OCLP warning one more time and ask you to confirm before proceeding.The build then runs through five automatic stages displayed as a progress bar:During this process the tool:
- Downloads the latest OpenCorePkg from Dortania Builds and extracts it as the EFI base
- Downloads every required kext from Dortania Builds or GitHub releases
- Compiles and copies SSDT files generated by SSDTTime into
EFI/OC/ACPI/ - Writes a fully populated
config.plistwith all quirks, device properties, boot arguments, NVRAM entries, and kernel patches set correctly for your hardware and macOS target - Removes unused drivers, tools, and picker theme variants to keep the EFI lean
Results/ folder automatically.Complete post-build steps before installing macOS
OpCore Simplify displays a “Before Using EFI” screen immediately after the build. It lists any BIOS/UEFI setting changes you must make, such as:Once your BIOS settings are adjusted and USB mapping is complete, copy the
- Enabling UEFI mode (disabling Legacy/CSM) if your firmware report showed Legacy mode
- Disabling Secure Boot
- Enabling Above 4G Decoding and disabling Resizable BAR/Smart Access Memory on eligible desktop platforms
- Use USBToolBox to map your USB ports and generate
UTBMap.kext. - Copy
UTBMap.kextintoEFI/OC/Kexts/. - Remove
UTBDefault.kextfromEFI/OC/Kexts/. - Open
config.plistwith ProperTree and run OC Snapshot (Cmd/Ctrl + R) to register the kext change. - If any single USB controller exposes more than 15 ports, enable the
XhciPortLimitkernel patch inconfig.plist. - Save the file.
Do not skip USB mapping. macOS enforces a 15-port-per-controller limit and will fail to boot or behave erratically without a proper USB map. The placeholder
UTBDefault.kext included in the build is intentionally generic and must be replaced.EFI/ folder from Results/ to the EFI partition of your USB installer and proceed with the macOS installation.