Skip to content

Incorrect default boot option choice in OpenCore during updating #948

@vit9696

Description

@vit9696

It seems that OpenCore 0.5.9 actually failed to fully resolve the problems caused by accidental Multiupdater booting during the macOS upgrade process. If macOS and Windows are installed on the same drive it is possible that macOS may fail to seamlessly upgrade.

Currently first successfully registered boot option not being a tool will become the default option. This was made in the assumption that first of all we process BootNext and BootOrder entries, and thus the option with the highest priority will be registered first and effectively become the default one.

Creating options from Boot#### variables is handled by AddBootEntryFromBootOption. The trick here is that AddBootEntryFromBootOption is actually not only adding a boot option from Boot#### variable, but it will also add blessed boot entries on the same file system.

Consider the following setup: macOS and Windows are installed on the same drive and BlacklistAppleUpdate is enabled. The following steps may happen during the macOS upgrade:

  1. MultiUpdater put to ESP and is registered as BootNext, while macOS Installer is put to APFS volume and is registered as the first entry in BootOrder.
  2. OpenCore processes BootNext and discards MultiUpdater because of BlacklistAppleUpdate.
  3. OpenCore processes blessed entries on the ESP partition and discovers Windows installation.
  4. Windows is the first actually registered option, and for this reason it becomes the default option.
  5. OpenCore processes BootOrder and adds macOS Installer. However, this one will not be the default as Windows was already added at the previous step.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions