@jaymonkey did you try to use opencore with hp spectre? I could not make PreLoader.efi work with opencore. USB boot worked fine but with NVME SSD boot did not work with same set of config.
@johnyg07,
@Aleixjf22,
@maheshbohara,
I've only just started to experiment with booting my HP Spectre X360 with Opencore, however I have been able to successfully boot
OpenCore 0.6.6 directly from the internal NVMe.
NOTE: This method will only work with
OpenCore 0.6.6 onwards as the developers have recently changed OC's native UEFI loader method which has removed any need to use BOOTX64.efi and/or Bootstrap.efi.
There is some info on the changes in this post :-
LauncherOption instead of Bootstrap.efi In OC 0.6.6 there is a major change from previous versions. Until now OC was an EFI driver and it needed a loader. Bootstrap.efi or BOOTx64.efi performed this function. But now OC is an app and it no longer needs a loader. This improves compatibility with...
www.tonymacx86.com
You don't need to do any of the steps within that post, I just linked it so you can understand some of the changes.
Additionally I should point out that my 2017 HP Spectre X360 is running BIOS version F.30, I have not tested the method with older or newer BIOS versions, so your success may vary.
---------------------------------------
Despite several attempts to get the built-in feature of OC 0.6.6 to automatically create a OC UEFI boot entry (as detailed in the above post/link), no matter what i tried i could not get it to work on my HP Spectre X360.
After some debugging and testing I found that I colud use Clovers EFI shell to manually create a new UEFI boot entry to directly boot OpenCore.efi from the NVMe with no need for a pre-loader, bootx64.efi or a bootstrap thus making future OC updates much simpler and a slight gain in overall boot speed.
NOTE-1: From my testing you can not use OC's OpenShell to do this, whilst the commands seem to work with OC's OpenShell, it will not list all of the UEFI boot entries correctly and it will not add or remove UEFI boot entries. The cause of this is most likely the same reason why OC's built in feature to automatically create a new UEFI boot entry also does not work. I discussed this issue with vit9696 over at Acidanthera who proposed that it may be necessary to use OpenControl.efi to allow OpenShell to modify the UEFI NVME boot entries on a HP Spectre X360, however during in all my testing it did not help and the only success I had was using Clovers EFI Shell.
Method :-
1. Mount the EFI partition of your NVMe in macOS.
2. Copy your prepared OC 0.6.6 folder to the EFI folder on your EFI partition (keep the Clover folder for now if you have one).
3. There is no need to copy the OC "BOOT" folder or the BOOTX64.efi file to an existing BOOT folder.
4. Reboot and boot into Clover from the NVMe and run the EFI Shell (see
NOTE-2 below).
5. List your current UEFI boot entries with the command
bcfg boot dump
.
6. Mount the EFI FS partition ( usually
FS0:
).
7. CD to the "/EFI/OC" folder, you can use the
LS
command to list the contents.
8. Add a new UEFI boot entry using the command
bcfg boot add X OpenCore.efi "OpenCore from NVMe"
where X is the the next boot entry number from Step 5 (EG if last boot entry = 03 then X will be 4)
9. Re-list your UEFI boot entries with the command
bcfg boot dump
.
10. Check that the new boot entry is present and correct.
11. Exit from Clover's EFI shell and reboot, press <ESC> and/or F9 to get to the Boot device list.
After following the above procedure you should now be able to boot OpenCore directly from the NVMe using the new UEFI boot entry, you can set it as the default when you're ready to migrate fully to OpenCore by going into the BIOS (F10) -> Settings -> System Configuration -> UEFI Boot Order.
NOTE-2: In order to see the EFI Shell option in Clover you either need to be running Clover in "Auto-Scan" mode or enable the "Tool" option if your using Clover in "Custom Scan" mode. These options are in the GUI section of Clovers config.plist.
As noted in Step 3 there is no need to copy OC's BOOTX64.efi to the /EFI/BOOT folder which is good as it can mess up some Linux installs and is one of the reasons OC has changed its native boot loader method.
The great thing about this method is that OC can now co-exist with Clover in the EFI giving you the option to run either boot loader ... which can be very handy when experimenting with test builds. For example I'm still using Clover to boot Catalina 10.15.7 for my regular daily work but i can now also boot OC to load a test install of Big Sur.
Also being able to boot Clover and OC at this stage is extremely beneficial as OC has currently got a nasty habit of injecting all ACPI (DSDT & SSDT's) regardless of the OS selected which will most likely cause issues in multi-boot situations when loading an existing install of Windows. Since Clover only injects ACPI when booting MacOS I can still use it to safely Boot Windows (and Linux). Eventually I hope to dump the manually patched DSDT for OC and use nothing but SSDT hot patches with _OSI condition checks but I've got a lot of work t do to make that a reality.
Warning: Be careful when using the
bcfg
command as you can mess up your existing UEFI entries if used improperly.
Side Note: I was able to use the same method (using Clovers EFI Shell) to get my ASRock Z96 Extreme 6/3.1 system to also directly boot OpenCore.efi from the UEFI. Due to an oddity in some older ASRock motherboards BIOS/UEFI, its is/was necessary to copy BootX64.efi to the root of the EFI partition and rename it shellx64.efi in order for the system to boot Clover or previous version of OpenCore.
Cheers
Jay