Boot
-
ConsoleAttributesType:plist integerFailsafe:0Description: Sets specific attributes for the console. The text renderer supports colour arguments as a sum of foreground and background colours based on the UEFI specification. The value for black background and for black foreground,0, is reserved.List of colour values and names:
0x00—EFI_BLACK0x01—EFI_BLUE0x02—EFI_GREEN0x03—EFI_CYAN0x04—EFI_RED0x05—EFI_MAGENTA0x06—EFI_BROWN0x07—EFI_LIGHTGRAY0x08—EFI_DARKGRAY0x09—EFI_LIGHTBLUE0x0A—EFI_LIGHTGREEN0x0B—EFI_LIGHTCYAN0x0C—EFI_LIGHTRED0x0D—EFI_LIGHTMAGENTA0x0E—EFI_YELLOW0x0F—EFI_WHITE0x00—EFI_BACKGROUND_BLACK0x10—EFI_BACKGROUND_BLUE0x20—EFI_BACKGROUND_GREEN0x30—EFI_BACKGROUND_CYAN0x40—EFI_BACKGROUND_RED0x50—EFI_BACKGROUND_MAGENTA0x60—EFI_BACKGROUND_BROWN0x70—EFI_BACKGROUND_LIGHTGRAY
Note: This option may not work well with the
Systemtext renderer. Setting a background different from black could help with testing GOP functionality. -
HibernateModeType:plist stringFailsafe:NoneDescription: Hibernation detection mode. The following modes are supported:None— Ignore hibernation state.Auto— Use RTC and NVRAM detection.RTC— Use RTC detection.NVRAM— Use NVRAM detection. Note: If the firmware can handle hibernation itself (valid for Mac EFI firmware), thenNoneshould be specified to hand-off hibernation state as is to OpenCore.
-
HibernateSkipsPickerType:plist booleanFailsafe:falseDescription: Do not show picker if waking from macOS hibernation.Limitations:
- Only supports macOS hibernation wake, Windows and Linux are currently out of scope.
- Should only be used on systems with reliable hibernation wake in macOS, otherwise users may not be able to visually see boot loops that may occur.
- Highly recommended to pair this option with
PollAppleHotKeys, allows to enter picker in case of issues with hibernation wake. - Visual indication for hibernation wake is currently out of scope.
-
HideAuxiliaryType:plist booleanFailsafe:falseDescription: Set totrueto hide auxiliary entries from the picker menu.An entry is considered auxiliary when at least one of the following applies:
- Entry is macOS recovery.
- Entry is macOS Time Machine.
- Entry is explicitly marked as
Auxiliary. - Entry is system (e.g.
Reset NVRAM).
To display all entries, the picker menu can be reloaded into “Extended Mode” by pressing the
Spacebarkey. Hiding auxiliary entries may increase boot performance on multi-disk systems. -
LauncherOptionType:plist stringFailsafe:DisabledDescription: Register the launcher option in the firmware preferences for persistence.Valid values:
Disabled— do nothing.Full— create or update the top priority boot option in UEFI variable storage at bootloader startup. – For this option to work,RequestBootVarRoutingis required to be enabled.Short— create a short boot option instead of a complete one. – This variant is useful for some older types of firmware, typically from Insyde, that are unable to manage full device paths.System— create no boot option but assume specified custom option is blessed. – This variant is useful when relying onForceBooterSignaturequirk and OpenCore launcher path management happens through bless utilities without involving OpenCore.
This option allows integration with third-party operating system installation and upgrades (which may overwrite the
\EFI\BOOT\BOOTx64.efifile). The BOOTx64.efi file is no longer used for bootstrapping OpenCore if a custom option is created. The custom path used for bootstrapping can be specified by using theLauncherPathoption.Note 1: Some types of firmware may have NVRAM implementation flaws, no boot option support, or other incompatibilities. While unlikely, the use of this option may result in boot failures and should only be used exclusively on boards known to be compatible. Refer to acidanthera/bugtracker#1222 for some known issues affecting Haswell and other boards.
Note 2: While NVRAM resets executed from OpenCore would not typically erase the boot option created in
Bootstrap, executing NVRAM resets prior to loading OpenCore will erase the boot option. Therefore, for significant implementation updates, such as was the case with OpenCore 0.6.4, an NVRAM reset should be executed withBootstrapdisabled, after which it can be re-enabled.Note 3: Some versions of Intel Visual BIOS (e.g. on Intel NUC) have an unfortunate bug whereby if any boot option is added referring to a path on a USB drive, from then on that is the only boot option which will be shown when any USB drive is inserted. If OpenCore is started from a USB drive on this firmware with
LauncherOptionset toFullorShort, this applies and only the OpenCore boot entry will be seen afterwards, when any other USB is inserted (this highly non-standard BIOS behaviour affects other software as well). The best way to avoid this is to leaveLauncherOptionset to Disabled or System on any version of OpenCore which will be started from a USB drive on this firmware. If the problem has already occurred the quickest reliable fix is:- Enable the system UEFI Shell in Intel Visual BIOS - With power off, insert an OpenCore USB
- Power up and select the system UEFI Shell
- Since the system shell does not include
bcfg, use the system shell to start OpenCore’s OpenShell (e.g. by entering the commandFS2:\EFI\OC\Tools\OpenShell.efi, but you will need to work out which drive is correct for OpenCore and modify the drive numberFS#:accordingly) - Within OpenShell, use
bcfg boot dumpto display the NVRAM boot options and then usebcfg boot rm #(where#is the number of the OpenCore boot entry) to remove the OpenCore entry
It is alternatively possible to start OpenShell directly from the OpenCore boot menu, if you have a working configured OpenCore for the system. In that case, and if OpenCore has
RequestBootVarRoutingenabled, it will be necessary to run the command\EFI\OC\Tools\OpenControl.efi disablebefore usingbcfg. (AfterOpenControl disable, it is necessary to either reboot or runOpenControl restore, before booting an operating system.) It is also possible to useefibootmgrwithin Linux to remove the offending entry, if you have a working version of Linux on the machine. Linux must be started either not via OpenCore, or via OpenCore withRequestBootVarRoutingdisabled for this to work. -
LauncherPathType:plist stringFailsafe:DefaultDescription: Launch path for theLauncherOptionproperty.Default points to
OpenCore.efi. User specified paths, e.g.\EFI\SomeLauncher.efi, can be used to provide custom loaders, which are supposed to loadOpenCore.efithemselves. -
PickerAttributesType:plist integerFailsafe:0Description: Sets specific attributes for the OpenCore picker.Different OpenCore pickers may be configured through the attribute mask containing OpenCore-reserved (
BIT0~BIT15) and OEM-specific (BIT16~BIT31) values.Current OpenCore values include:
0x0001—OC_ATTR_USE_VOLUME_ICON, provides custom icons for boot entries: OpenCore will attempt loading a volume icon by searching as follows, and will fallback to the default icon on failure: –.VolumeIcon.icnsfile atPrebootvolume in per-volume directory (/System/Volumes/Preboot/{GUID}/when mounted at the default location within macOS) for APFS (if present). –.VolumeIcon.icnsfile at thePrebootvolume root (/System/Volumes/Preboot/, when mounted at the default location within macOS) for APFS (otherwise). –.VolumeIcon.icnsfile at the volume root for other filesystems.
Note 1: The Apple picker partially supports placing a volume icon file at the operating system’s
Datavolume root,/System/Volumes/Data/, when mounted at the default location within macOS. This approach is flawed: the file is neither accessible to OpenCanopy nor to the Apple picker when FileVault 2, which is meant to be the default choice, is enabled. Therefore, OpenCanopy does not attempt supporting Apple’s approach. A volume icon file may be placed at the root of thePrebootvolume for compatibility with both OpenCanopy and the Apple picker, or use thePrebootper-volume location as above with OpenCanopy as a preferred alternative to Apple’s approach.Note 2: Be aware that using a volume icon on any drive overrides the normal OpenCore picker behaviour for that drive of selecting the appropriate icon depending on whether the drive is internal or external.
-
0x0002—OC_ATTR_USE_DISK_LABEL_FILE, use custom prerendered titles for boot entries from.disk_label(.disk_label_2x) file next to the bootloader for all filesystems. These labels can be generated via thedisklabelutility or thebless --folder {FOLDER_PATH} --label {LABEL_TEXT}command. When pre-rendered labels are disabled or missing, use label text in.contentDetails(or.disk_label.contentDetails) file next to bootloader if present instead, otherwise the entry name itself will be rendered. -
0x0004—OC_ATTR_USE_GENERIC_LABEL_IMAGE, provides predefined label images for boot entries without custom entries. This may however give less detail for the actual boot entry. 0x0008—OC_ATTR_HIDE_THEMED_ICONS, prefers builtin icons for certain icon categories to match the theme style. For example, this could force displaying the builtin Time Machine icon. RequiresOC_ATTR_USE_VOLUME_ICON.0x0010—OC_ATTR_USE_POINTER_CONTROL, enables pointer control in the OpenCore picker when available. For example, this could make use of mouse or trackpad to control UI elements.0x0020—OC_ATTR_SHOW_DEBUG_DISPLAY, enable display of additional timing and debug information, in Builtin picker inDEBUGandNOOPTbuilds only.0x0040—OC_ATTR_USE_MINIMAL_UI, use minimal UI display, no Shutdown or Restart buttons, affects OpenCanopy and builtin picker.0x0080—OC_ATTR_USE_FLAVOUR_ICON, provides flexible boot entry content description, suitable for picking the best media across different content sets:
When enabled, the entry icon in OpenCanopy and the audio assist entry sound in OpenCanopy and builtin boot picker are chosen by something called content flavour. To determine content flavour the following algorithm is used: – For a Tool the value is read from
Flavourfield. – For an automatically discovered entry, including for boot entry protocol entries such as those generated by the OpenLinuxBoot driver, it is read from the.contentFlavourfile next to the bootloader, if present. – For a custom entry specified in theEntriessection it is read from the.contentFlavourfile next to the bootloader ifFlavourisAuto, otherwise it is specified via theFlavourvalue itself. – If read flavour isAutoor there is no.contentFlavour, entry flavour is chosen based on the entry type (e.g. Windows automatically gets Windows flavour).The
Flavourvalue is a sequence of:separated names limited to 64 characters of printable 7-bit ASCII. This is designed to support up to approximately five names. Each name refers to a flavour, with the first name having the highest priority and the last name having the lowest priority. Such a structure allows describing an entry in a more specific way, with icons selected flexibly depending on support by the audio-visual pack. A missing audio or icon file means the next flavour should be tried, and if all are missing the choice happens based on the type of the entry. Example flavour values:BigSur:Apple,Windows10:Windows.OpenShell:UEFIShell:Shell.Using flavours means that you can switch between icon sets easily, with the flavour selecting the best available icons from each set. E.g. specifying icon flavour
Debian:Linuxwill use the iconDebian.icnsif provided, then will tryLinux.icns, then will fall back to the default for an OS, which isHardDrive.icns.Things to keep in mind: – For security reasons
Ext<Flavour>.icnsand<Flavour>.icnsare both supported, and onlyExt<Flavour>.icnswill be used if the entry is on an external drive (followed by default fallbackExtHardDrive.icns). – Where both apply.VolumeIcon.icnstakes precence over.contentFlavour. – In order to allow icons and audio assist to work correctly for tools (e.g. for UEFI Shell), system default boot entry icons (seeDocs/Flavours.md) specified in theFlavoursetting forToolsorEntrieswill continue to apply even when flavour is disabled. Non-system icons will be ignored in this case. In addition, the flavoursUEFIShellandNVRAMResetare given special processing, identifying their respective tools to apply correct audio-assist, default builtin labels, etc. – A list of recommended flavours is provided inDocs/Flavours.md. -
PickerAudioAssistType:plist booleanFailsafe:falseDescription: Enable screen reader by default in the OpenCore picker. For the macOS bootloader, screen reader preference is set in thepreferences.efiresarchive in theisVOEnabled.int32file and is controlled by the operating system. For OpenCore screen reader support, this option is an independent equivalent. Toggling screen reader support in both the OpenCore picker and the macOS bootloader FileVault 2 login window can also be done by using theCommand + F5key combination.Note: The screen reader requires working audio support. Refer to the UEFI Audio Properties section for details.
-
PollAppleHotKeysType:plist booleanFailsafe:falseDescription: Enable modifier hotkey handling in the OpenCore picker. In addition toaction hotkeys, which are partially described in thePickerModesection and are typically handled by Apple BDS, modifier keys handled by the operating system bootloader (boot.efi) also exist. These keys allow changing the behaviour of the operating system by providing different boot modes.On certain firmware, using modifier keys may be problematic due to driver incompatibilities. To workaround this problem, this option allows registering certain hotkeys in a more permissive manner from within the OpenCore picker. Such extensions include support for tapping on key combinations before selecting the boot item, and for reliable detection of the
Shiftkey when selecting the boot item, in order to work around the fact that hotkeys which are continuously held during boot cannot be reliably detected on many PS/2 keyboards.This list of known modifier hotkeys includes:
CMD+C+MINUS— disable board compatibility checking.CMD+K— boot release kernel, similar tokcsuffix=release.CMD+S— single user mode.CMD+S+MINUS— disable KASLR slide, requires disabled SIP.CMD+V— verbose mode.Shift+Enter,Shift+Index— safe mode, may be used in combination withCTRL+Enter,CTRL+Index.
-
ShowPickerType:plist booleanFailsafe:falseDescription: Show a simple picker to allow boot entry selection. -
TakeoffDelayType:plist integer, 32 bit Failsafe:0Description: Delay in microseconds executed before handling the OpenCore picker startup and action hotkeys. Introducing a delay may give extra time to hold the rightaction hotkeysequence to, for instance, boot into recovery mode. On most systems, the appearance of the initial boot logo is a good indication of the time from which hotkeys can be held down. Earlier than this, the key press may not be registered. On some platforms, setting this option to a minimum of5000-10000microseconds is also required to access action hotkeys due to the nature of the keyboard driver.If the boot chime is configured (see audio configuration options) then at the expense of slower startup, an even longer delay of half to one second (
500000-1000000) may be used to create behaviour similar to a real Mac, where the chime itself can be used as a signal for when hotkeys can be pressed. The boot chime is inevitably later in the boot sequence in OpenCore than on Apple hardware, due to the fact that non-native drivers have to beloaded and connected first. Configuring the boot chime and adding this longer additional delay can also be useful in systems where fast boot time and/or slow monitor signal synchronisation may cause the boot logo not to be shown at all on some boots or reboots.
-
TimeoutType:plist integer, 32 bit Failsafe:0Description: Timeout in seconds in the OpenCore picker before automatic booting of the default boot entry. Set to0to disable. -
PickerModeType:plist stringFailsafe: Builtin Description: Choose picker used for boot management.PickerModedescribes the underlying boot management with an optional user interface responsible for handling boot options.The following values are supported:
Builtin— boot management is handled by OpenCore, a simple text-only user interface is used.External— an external boot management protocol is used if available. Otherwise, theBuiltinmode is used.Apple— Apple boot management is used if available. Otherwise, theBuiltinmode is used.
Upon success, the
Externalmode may entirely disable all boot management in OpenCore except for policy enforcement. In theApplemode, it may additionally bypass policy enforcement. Refer to the OpenCanopy plugin for an example of a custom user interface.The OpenCore built-in picker contains a set of actions chosen during the boot process. The list of supported actions is similar to Apple BDS and typically can be accessed by holding
action hotkeysduring the boot process.The following actions are currently considered:
Default— this is the default option, and it lets the built-in OpenCore picker load the default boot option as specified in the Startup Disk preference pane.ShowPicker— this option forces the OpenCore picker to be displayed. This can typically be achieved by holding theOPTkey during boot. SettingShowPickertotruewill makeShowPickerthe default option.BootApple— this options performs booting to the first Apple operating system found unless the chosen default operating system is one from Apple. Hold theXkey down to choose this option.BootAppleRecovery— this option performs booting into the Apple operating system recovery partition. This is either that related to the default chosen operating system, or first one found when the chosen default operating system is not from Apple or does not have a recovery partition. Hold theCMD+Rhotkey combination down to choose this option.
Note 1: On non-Apple firmware
KeySupport,OpenUsbKbDxe, or similar drivers are required for key handling. However, not all of the key handling functions can be implemented on several types of firmware.Note 2: In addition to
OPT, OpenCore supports using both theEscapeandZerokeys to enter the OpenCore picker whenShowPickeris disabled.Escapeexists to support co-existence with the Apple picker (including OpenCoreApplepicker mode) and to support firmware that fails to report heldOPTkey, as on some PS/2 keyboards. In addition,Zerois provided to support systems on whichEscapeis already assigned to some other pre-boot firmware feature. In systems which do not requireKeySupport, pressing and holding one of these keys from after power on until the picker appears should always be successful. The same should apply when usingKeySupportmode if it is correctly configured for the system, i.e. with a long enoughKeyForgetThreshold. If pressing and holding the key is not successful to reliably enter the picker, multiple repeated keypresses may be tried instead.Note 3: On Macs with problematic GOP, it may be difficult to re-bless OpenCore if its bless status is lost. The
BootKickerutility can be used to work around this problem, if set up as a Tool in OpenCore (e.g. on a CDROM) withFullNvramAccessenabled. It will launch the Apple picker, which allows selection of an item to boot next (withEnter), or next and subsequently, i.e. as the blessed entry (withCTRL+Enter), as normal. After the selection is made, the system will reboot and the chosen entry will be booted. -
PickerVariantType:plist stringFailsafe:AutoDescription: Choose specific icon set to be used for boot management.An icon set is a directory path relative to
Resources\Image, where the icons and an optional manifest are located. It is recommended for the artists to use provide their sets in theVendor\Setformat, e.g.Acidanthera\GoldenGate.Sample resources provided as a part of OcBinaryData repository provide the following icon set:
Acidanthera\GoldenGate— macOS 11 styled icon set.Acidanthera\Syrah— macOS 10.10 styled icon set.Acidanthera\Chardonnay— macOS 10.4 styled icon set.
For convenience purposes there also are predefined aliases:
Auto— Automatically select one set of icons based on theDefaultBackgroundcolour:Acidanthera\GoldenGatefor Syrah Black andAcidanthera\Chardonnayfor Light Gray.Default—Acidanthera\GoldenGate.