Contribute
Register

[HOW TO] Custom entry in OpenCore to boot Windows

If I plug the windows drive into a different SATA port, does the path change?
 
Doesn't the new entry supposed to replace the original windows entry opencore picked up, for me it just created another entry, so now I have 2 Windows entries and I just wanted 1
Am I doing something wrong?
I attached my EFI folder

Never mind, Had to change scan policy so it doesn't pickup the windows entry.

All good
 

Attachments

  • EFI.zip
    22.6 MB · Views: 52
Last edited:
@robi42
You have ScanPolicy=0 so Windows system is shown in the OpenCore picker.
You have also a custom Windows 11 entry (whether or not this Windows system exists) so this is also shown in the picker.
To have only one, remove one of them. Choose the one you prefer. If you didn't create the custom entry (it may come in the config.plist file of the downloaded EFI), delete the custom entry.
 
Is there a way to have just the name of the boot entry changed in the picker without doing a custom entry, I noticed that custom entry breaks the startup disk behavior, opencore won't boot from the selected os or at least not if the selected os is the custom entry.
Not sure where Opencore picks the names for the boot entries
 
@robi42 According to the Configuration.pdf under Misc->Booter->PickerAttributes, you can use disk label files next to the bootloader to label boot entries. This does require bit 1 to be set in the PickerAttributes value though.

From the Configuration PDF:
1682736278812.png
 
Is there a way to have just the name of the boot entry changed in the picker without doing a custom entry, I noticed that custom entry breaks the startup disk behavior, opencore won't boot from the selected os or at least not if the selected os is the custom entry.
Not sure where Opencore picks the names for the boot entries

You can still use ScanPolicy to mask all of your unwanted drive entries from the OpenCore Boot Picker e.g., the OpenCore Default - ScanPolicy = 17760515
Combined with a PickerAttribute to use custom icons/labels, hide/unhide mouse pointer etc,. This will give you a nice clean OpenCore picker with custom entries. e.g., PickerAttribute = 144

An alternative to using macOS StartUp Disk is to select the drive that you want set as your default from the OpenCore Picker. This is done by selecting Ctrl+Enter on your desired OS drive in the picker. You will notice a brief cyclic arrow ring around your selection before the OS launches into booting mode.

I experimented with this and it works great. I used it to perform a Windows Update and following a reboot, OpenCore chose to boot back into Windows. You can also boot macOS from Windows (providing you have BootCamp drivers installed) so that works too. I also tried tried it on Arch Linux and it will reboot to Arch so I would use this method instead of StartUp Disk.

Credits:
@robi42 - you mentioned Ctrl+Enter in your other post but I'd initially dismissed it as I'd never heard of that before (my apologies).
@5T33Z0 - I read your gitbook and it has some great info this whole topic.
@miliuco - for all of your info and guides that you post regarding this topic.

OpenCore Devs.
 
Last edited:
@robi42

OpenCore uses .disk_label file if it exists, otherwise it tries .contentDetails and, if this doesn't exist, it tries .disk_label.contentDetails.
  • config.plist: change csr-active-config to 6F020000 (having csr-active-config also in NVRAM >> Delete >> 7C436110-AB2A-4BBB-A880-FE41995C9F82) or pick the ToggleSIP tool to switch from Enabled to Disabled (having Misc >> Security >> AllowToggleSip as True)
  • reboot
  • mount Preboot volume from Terminal (I'm not sure if that this is required, I see Preboot volume without mounting it but other users have had to mount that volume)
  • edit /System/Volumes/Preboot/UUID-number/System/Library/CoreServices/.contentDetails and /System/Volumes/Preboot/UUID-number/System/Library/CoreServices/.disk_label.contentDetails (they are hidden files)
  • change the volume name to anything else (plain text, make it simple)
  • reboot.
The new name is displayed in the OpenCore text and graphical picker.

Note: UUID-number is the UUID of the APFS volume group where Preboot volume is located, you can do "diskutil list" and "diskutil info diskx" where diskx is the APFS Container Scheme.
 
Does this work with the Windows partition label in the picker?
 
@robi42
Yes, it's the same thing. The hidden files must be next to the boot loader. For Windows, it's
Code:
/Volumes/EFI/EFI/Boot/bootx64.efi
First EFI is Windows EFI partition and second EFI is folder.

But why don't change the disk label in the Windows Explorer? It is easier.
 
Back
Top