• Become a Premium Member for $25/year with no ads to improve your community experience.

EliteMacx86

Administrator
Staff member
Joined
Jul 22, 2018
Messages
6,637
Motherboard
Supermicro X11SPA-T
CPU
Intel Xeon W-3275 28 Core
Graphics
2xAMD RX 580 8GB
OS X/macOS
13.x
Bootloader
  1. OpenCore (UEFI)
Mac
  1. Mac mini
  2. MacBook Pro
Mobile Phone
  1. Android
  2. iOS
How to Boot macOS Installer on Intel Laptops using OpenCore (UEFI)

An EliteMacx86 Exclusive Guide - This guide covers booting of macOS installer on Intel Laptops using OpenCore.

Overview


Booting macOS installer on Laptops can be a challenging for the new users. This guide covers a complete step to boot the macOS installer on your Laptop using OpenCore boot loader. Users who are not using OpenCore, can update their configuration for OpenCore and continue to use it.

OpenCore is one of the most advanced boot loader yet and it can boot upto almost any OS. With this, it has several advantages.

For more information on Desktop installation, refer to the guide linked below.

Get your hardware details


Before you start, get to know about your hardware. Starting your journey without knowing your hardware will make your journey difficult with no any chance of success. Also when seeking for support, the hardware details should be present in your profile.

Read here:

Before you start with this guide, here's are few requirements
  • A working Internet connection.
  • A 16 GB or larger USB Flash Drive.
  • A complete backup of your system.
Note:
We advise you to perform a complete backup of your system along with the existing installation. In case something goes wrong, you can restore it using the backup you created.


To start with the guide, you'll also need to have access to fully functional computer running Mac OS X 10.7.5 or greater. This requirement is must as you need to access to Mac App Store in order to download a copy of macOS and create an installation USB Flash Drive later on.

Download a copy of macOS


The very first step is to download a copy of macOS. The copy of macOS is available for free to download for anyone who has purchased Mac OS X Snow Leopard, Lion, or Mountain Lion or has a Mac with OS X Mavericks or greater. Download the copy of macOS from Mac App Store using your Apple ID on any Mac or functional computer running OS X 10.7.5 or later.

Depending on the macOS version you want to install, follow the steps below

Here are the steps to download the copy of macOS Sierra
  1. Open Mac App Store
  2. Log in into App Store with your Apple ID
  3. Find macOS version you want to install and start downloading
Once the download is complete, it will appear in your Applications folder.

Creating a Bootable USB Flash Drive with Createinstallmedia


The next step is to create a bootable installation drive.
To create the installation USB, createinstallmedia method is recommended.

For Big Sur:
Code:
sudo /Applications/Install\ macOS\ Big\ Sur.app/Contents/Resources/createinstallmedia --volume /Volumes/USB
For Catalina:
Code:
sudo /Applications/Install\ macOS\ Catalina.app/Contents/Resources/createinstallmedia --volume /Volumes/USB
For Mojave:
Code:
sudo /Applications/Install\ macOS\ Mojave.app/Contents/Resources/createinstallmedia --volume /Volumes/USB
For High Sierra:
Code:
sudo /Applications/Install\ macOS\ High\ Sierra.app/Contents/Resources/createinstallmedia --volume /Volumes/USB
For Sierra:
Code:
sudo "/Applications/Install macOS Sierra.app/Contents/Resources/createinstallmedia --volume /Volumes/USB

At this point, the bootable USB can be only used to boot Mac only. In order to boot the Laptop using the USB, follow the steps below.

Note:
For High Sierra and later, 16GB USB is recommended.


Preparing OpenCore Bootloader


To prepare OpenCore boot loader, you need to download OpenCore.
Download the Release folder followed by the release version.
When extracting, you'll get 4 folders which has been listed below.

DirectoriesDescription
DocsContains documentation, change log, a sample config.plist, and ACPI Samples for OpenCore.
IA32Contains OpenCore EFI, 32-bit OpenCore Boot Loader.
UtilitiesContains several utilities.
X64Contains OpenCore EFI, 64-bit OpenCore Boot Loader.

1. Copy X64 to your working directory and follow the steps below

Adding required ACPI (SSDTs)
Drivers are mandatory which allows several important function and is required to boot the system. Follow the steps below to add the drivers.

SSDT NameRequiredNotes
SSDT-ECThis SSDT is for Broadwell and prior Laptops.
SSDT-EC-USBXThis SSDT is for Skylake and above Laptops.
SSDT-IMEI
SSDT-AWAC
SSDT-PMC
SSDT-PLUG
SSDT-PNLF
SSDT-PNLFCFL

Adding Required Drivers
Drivers are mandatory which allows several important function and is required to boot the system. Follow the steps below to add the drivers.

Driver NameRequiredNotes
OpenRuntime.efiYES
  • Runtime driver including several other drivers merged such as ApfsDriverLoader.
  • OpenRuntime.efi is a replacement for AptioMemoryFix.efi driver.
HFSPlus.efiYES
  • Provides reading of HFS+ Volumes/drives in OpenCore Boot Picker.
  • Without HFSPlus.efi driver, you won't be able to see any HFS+ volumes including your installation drive.
HfsPlusLegacyNO
  • Provides reading of HFS+ Volumes/drives in OpenCore Boot Picker.
  • If you're having a Sandy Bridge system, it's advised to use "HfsPlusLegacy" driver.
OpenCanopy.efiOptional
  • Provides GUI functionality for OpenCore Boot screen.
  • This driver is required if you need GUI or theme for OpenCore.
AudioDxe.efiOptional
  • Provides Boot Chime support.
  • Only required if you want to use Boot Chime


2. Copy the additional drivers to: /EFI/OC/Drivers

Notes
:
  • Without HFSPlus.efi, you won't be able to see any HFS+ volumes including your installation drive.
  • All the unliked drivers can be found at: X64/EFI/OC/Drivers

Adding Required Kexts
In order to boot into the installation, you need to add the necessary kexts. To add the necessary kexts, follow the steps below.

Kext NameRequiredNotes
Lilu.kextYES
  • Provides arbitrary patching.
VirtualSMC.kextYES
  • Emulates Apple hardware. VirtualSMC is a successor of FakeSMC.
  • This kext requires "Lilu.kext" to function.
WhateverGreen.kextYES
  • Provides GPU patching on macOS.
  • This kext requires "Lilu.kext" to function.
AppleALC.kextYES
  • Enables onboard/built-in Audio.
  • This kext requires "Lilu.kext" to function.
CpuTscSync.kextNO
  • Enables synchronization of the TSC with the CPU
  • A quick way to find if your Laptop needs CpuTscSync.kext, while booting the installer, you may feel lags and the installer getting stuck at several stages or you may see the Apple logo or other pop-ups appearing in background.
  • On some Laptops, you may get CPU panic for threads.
  • If you're having such scenarios, you'll need to use this kext.
  • This kext is mostly needed by Lenovo and newer ASUS Laptops with the latest BIOS.
SATA-unsupported.kextNO
  • Enables certain SATA Controllers under macOS.
  • Certain SATA Controllers may not be recognised by the installer and due to this, you may not be able to see the target drive or the other drive connected to the particular controller.
  • Such SATA Controllers are not recognised by the SATA kexts provided by Apple and this is due to Apple doesn't uses that specific controller in their hardware.
  • If you're having a similar issue, you'll need to use this kext to overcome this issue.
  • Use "SATA-unsupported.kext" for macOS Sierra and later.
CtlnaAHCIPort.kextNO
  • Enables certain SATA Controllers under macOS.
  • Certain SATA Controllers may not be recognised by the installer and due to this, you may not be able to see the target drive or the other drive connected to the particular controller.
  • Such SATA Controllers are not recognised by the SATA kexts provided by Apple and this is due to Apple doesn't uses that specific controller in their hardware.
  • If you're having a similar issue, you'll need to use this kext to overcome this issue.
  • For macOS Big Sur, use "CtlnaAHCIPort.kext".
USBInjectAll.kextYES
  • Enables USB ports for mapping USB ports further. It's advised to map the USB ports during the post-install for a better USB speed, improved sleep/wake and hotplug.
GenericUSBXHCI.kextNO
  • Enables non-Intel USB3 Controllers.
  • Usually found on Sandy Bridge, Ivy Bridge and some Haswell
  • If you're having a non-Intel USB3 Controller, you'll need to use this kext.
NoTouchID.kextNO
  • Disables Touch ID support
  • BiometricKit.framework in 10.13.4+ assumes a Touch ID sensor is present when a compatible board ID is used, which causes lag in authentication dialogs (as well as a delayed login screen). Using this kext resolves such hangs.
  • This kext is not required on 10.15.7 and later.
RealtekRTL8111.kextOptional
  • Enables Realtek RTL8111/8168 Family onboard Ethernet Controller.
  • Only use if you have the Realtek Ethernet chipset in particular.
RealtekRTL8100.kextOptional
  • Enables RTL810X Fast Ethernet Family onboard Ethernet Controller.
  • Only use if you have the Realtek Ethernet chipset in particular.
LucyRTL8125Ethernet.kextOptional
  • Enables Realtek RTL8125 2.5GBit Ethernet Family onboard Ethernet Controller.
  • Only use if you have this Realtek Ethernet chipset in particular.
IntelMausiEthernetOptional
  • Enables Intel Family onboard Ethernet Controller.
  • Only use if you have the Intel Ethernet chipset in particular.
IntelMausi.kextOptional
  • Enables Intel Family onboard Ethernet Controller.
  • Only use if you have the Intel Ethernet chipset in particular.
AtherosE2200EthernetOptional
  • Enables Qualcomm Atheros Killer Family onboard Ethernet Controller.
  • Only use if you have the Atheros Ethernet chipset in particular.
BCM5722D.kextOptional
  • Enables Broadcom BCM5722 NetXtreme and NetLink family gigabit onboard Ethernet Controller.
  • Only use if you have the Broadcom Ethernet chipset in particular.
VoodooPS2ControllerYES
  • Enables PS/2 Keyboard and Trackpad.


1. Download the above kexts.
2. Extract the kexts from the RELEASE folder.
3. Copy the kexts to: /EFI/OC/Kexts

Notes
:
  • Do not download the project files. The pre-built binaries/downloads are available in the README.md section. Make sure you read it carefully.
  • Download the latest version for better support.
  • Use the kext from RELEASE folder and RELEASE.zip file.
  • Do not place unnecessary kexts here. It might prevent booting the installer.
  • Only use basic kexts which is required to boot off the installer. You can install the rest required kexts at the time of post-installation.
  • The VirtualSMC package includes Battery and Sensors plugins (SMCBatteryManager.kext, SMCDellSensors.kext, SMCLightSensor.kext, SMCProcessor.kext, and SMCSuperIO.kext). You do not need these kexts for booting the installer.
  • USBInjectAll.kext is not required on AMD systems.
  • If you're using a M.2 SSD, and plan to use Sierra, read the NVMe compatibility covered in FAQ: https://www.elitemacx86.com/threads/faq-read-first-frequent-questions-related-to-laptop.136/
  • Do not use "SATA-unsupported.kext" and "CtlnaAHCIPort.kext" together.
  • The Optional kexts are purely depended on the hardware need. If you're having a matching hardware, then only add the kexts otherwise adding unnecessary kexts isn't a good idea.
Selecting a Config.plist File
OpenCore comes with a default config.plist file. This config.plist cannot be used to boot most of the systems. You'll need to configure the config.plist according to your hardware, mainly graphics and other devices.

We've already created a separate thread on configuring your config.plist to boot the installer. Depending on your hardware, create a config.plist according to the guide. For more information on config.plist, follow the guide below.

For Intel:

Installing OpenCore Bootloader
1. Mount the EFI partition of your Bootable USB you created in previous step.
2. Copy the EFI from your working directory which you created earlier to EFI partition of your USB.

Now you’ve successfully installed OpenCore, the required drivers, kexts and config.plist and the USB Flash drive is ready to boot off your target Laptop.

DGPU Support


DGPU isn't supported on Laptops when using macOS. A dedicated GPU can only work on a Laptop if it meets the requirements listed below. The compatibility is covered in another section of this forum.
  • Compatible DGPU
  • Intel GPU must be factory disabled.
HDMI/DP/mDP/Type-C DIsplay


HDMI, DP, mDP and Type-C Displays are supported. For more information, refer to the requirements and limitations outlined below.

Ports tied to Intel
  • If the ports are tied to Intel, you'll require to disable the DGPU via DSDT and SSDTs patches.
  • If you're not willing to patch DSDT and SSDTs, you can use "-wegnoegpu" boot arg as a temporary solution.
Ports tied to NVIDIA/AMD
  • On Some Laptops, the HDMI/DP/Type-C ports might be tied to NVIDIA or AMD GPU instead of Intel. In such cases, the ports tied to NVIDIA or AMD will not perform any output and the system may crash when a display cable is plugged to the respective port.
  • To drive display in such scenario, do not disable the DGPU, either NVIDIA or AMD.
  • If you're using "-wegnoegpu" boot arg, or a DSDT/SSDT patch, you must remove it to drive the display.
DVMT-prealloc


Since Broadwell, the Laptop requires DVMT-prealloc set to be 64MB, as demanded by Broadwell and later Graphics kexts or it will likely result in a Kernel Panic. Normally, this can be set via BIOS. However, there are several manufacturers which doesn't allows to set this from BIOS. There are two methods to unlock the DVMT-prealloc. Either flashing an unlocked BIOS or modifying the variable using EFI Shell or any other similar method.

The other workaround is to use "minStolen patch" which can disable the DVMT-prealloc check. Even if the patch is enabled, on few machines, the Graphics kexts may result in a Kernel Panic. It's because OpenCore cannot patch a kext that loads outside of Kernel cache and these Graphics kexts may not be in cache. To fix this issue, there's a workaround from RehabMan. Just use an invalid ig-platform-id (0x12345678) and then boot the installer. Do not use an invalid Fake ID as it will not serve the purpose. Once you're done with the installation and reach the Desktop, rebuild cache and boot normally with the required ig-platform-id.

To rebuild cache, you can use the command below in Terminal
Code:
sudo kextcache -i/

Notes:
  • If your Laptop has the required DVMT-prealloc, you can remove the 32MB patch.
  • The DVMT pre-alloc is applicable to IGPU only.
4K/UHD/QHD


4K/UHD/QHD panels are supported. For more information, refer to the requirement and limitation outlined below.
  • DVMT-prealloc must be set to 64MB. Few Laptops such as Lenovo Yoga can requires 96 or 128MB.
  • minStolen patch can disable the check for required DVMT-prealloc. However, the patch may cause glitches or screen flickers.

Thunderbolt


Thunderbolt hardware is supported. For more information, refer to the requirement and limitation outlined below.
  • Compatible Thunderbolt Chipset.
  • The Thunderbolt information will not load under  > About This Mac>System Report>Thunderbolt unless you flash your Thunderbolt chip.
Touchpad


Touchpad are supported. For more information on I2C Touchpad, refer to the requirement and limitation outlined below.
  • Compatible I2C Touchpad.
  • DSDT or SSDT patching.
Fingerprint and Biometric


Fingerprint and Biometric hardware are not supported at all and you'll need to disable the respective hardware.
 
Last edited:
How to Boot macOS Installer on Intel Laptops using OpenCore [UEFI]

UEFI/BIOS settings


Once you have got the USB Installer ready, the next step is to setup your BIOS/EFI. These settings vary from manufacturer to manufacturer and model to model.

For more information, refer to the BIOS/UEFI settings linked below.

Booting the Installer using USB


Once the BIOS/UEFI is setup, you're ready to install on the target computer.

1. Plug the USB flash drive in USB 2.0 port and boot to Boot Menu
2. Select your USB with the UEFI prefix and it will boot to OpenCore
3. Reset NVRAM twice.
4. Boot again using your USB
5. Select Install macOS Sierra/High Sierra/Mojave/Catalina/Big Sur and press enter.
6. When at installation screen, select your preferred language and continue
7. Select Disk Utility and continue, click on View and select Show all Devices.
8. Now select your Hard Drive or SSD on which you want to install macOS and use the following parameters to erase your drive.

NameMacintosh HD
FormatAPFS
SchemeGUID Partition Map


Note:
For Sierra, use Mac OS Extended (Journaled) as APFS is available for High Sierra and later.


9. Close Disk Utility
10. Select Install macOS and continue with the options.
11. Select Macintosh HD and click on Install.

This will take couple of minutes and will restart at "Less than a minute is remaining". Upon completion, the system will automatically restart. The System will restart to complete the installation. Here it ends the first phase of the installation.

After installation, boot it using USB, but this time select Macintosh HD.
The first boot maybe slower as the caches are not build yet. Once the caches are built, it will boot normally.
When you're at the welcome screen, continue with the basics options such as Keyboard setup, Network, Computer Account and Privacy settings.

Now the installation is complete, but the drive isn't bootable yet. You need to complete the Post Installation
 
How to Boot macOS Installer on Intel Laptops using OpenCore [UEFI]

Post Installation


After installation, Post Installation needs to be performed. The post installation is required to achieve the fully system functionality.
Typically, the post installation includes enabling boot from the system drive, Graphics, Network, Audio, USB Ports Mapping, and Power Management.

Boot from System Drive
This is one of the most important part as it allows to boot it using the system drive without any need of installation USB.

1. Mount the EFI Partition of your System drive and the Bootable USB. Both the EFI partition of your Hard Drive and USB Flash Drive will be mounted on your Desktop.

2. Assuming that you’ve mounted your EFI Partition, continue the following.

3. Open your EFI Partition of your Hard Drive.
4. Select EFI folder and then move to Trash.
5. Open your EFI Partition of your macOS Bootable USB.
6. Copy the EFI folder from your macOS Bootable USB to your EFI Partition of your Hard Drive.

By using this method, you’ll be easily able to install OpenCore Boot loader on your System Drive.

Graphics


Depending on the Graphics your system uses, either Intel HD Graphics (integrated), should work Out of the Box. If not, check your config.plist.
For NVIDIA:

For AMD, it should work OOTB. If not, check the guide below

Network


Depending on the Network Chip (Ethernet), your system uses, follow the guide here. The required files can be downloaded from the download section.

Audio


Depending on the Audio Codec your system uses, either Realtek, VIA, Conexant, or Sound Blaster X, follow the guide below to enable Audio on your build.

Backlight
By default, the config.plist creation guide covers the implementation of Backlight. However, if you've missed the part or have followed the guide from somewhere else, you can use the guide linked below to implement the Backlight function.

Peripherals


Keyboard
Usually, the keyboard on Laptops are PS/2. However, some Laptops may have USB Keyboard instead of PS/2. By default, the post #1 covers the implementation of Keyboard which is applicable for both the case. If you've missed the part or have followed the guide from somewhere else, you can use the guide linked below to enable keyboard functionality.

Trackpad
Usually, the Trackpad on Laptops are PS/2. However, on newer Laptops, since Skylake, usually have I2C Trackpads. To implement I2C Trackpad functionality, follow the guide below.

Webcam
The Webcam usually works OOTB as it's connected to USB bus. If you're having issues with your Webcam, make sure your USB ports are functional.

Card Reader
Card Readers can have two interface, USB and PCI bus. If it's connected to USB bus, it should work OOTB. If it's on PCI bus, you can follow the guide below.

Battery Meter


Depending on the USB Chipset your system uses, either Intel, ASMedia, or Fresco Logic, follow the guide below to enable USB Devices on your build.

USB Ports


Depending on the USB Chipset your system uses, either Intel, ASMedia, or Fresco Logic, follow the guide below to enable USB Devices on your build.

Power Management


The final step would be to enable CPU/IGPU Power Management on your build. By default, the config.plist creation guide covers the Power Management.

Thunderbolt


If you're having a Thunderbolt hardware, you can follow the guide below to enable thunderbolt.

After completing the post-installation, restart your system and you would be running macOS High Sierra on your build. If you encounter any issue, post your queries in the appropriate section.

A big Thanks to all the developers and testers who made this easy. Without them, this guide would have never been possible.

Troubleshooting and further System Optimizations

Here's a list which will serve in fully optimizing your system after this guide. This list will be updated from time to time.
 
Last edited:

Forum statistics

Threads
1,479
Messages
14,007
Members
21,182
Latest member
madness