For some reason if I select an entry from the startup disk while booted through OC my system freezes and needs a restart.Did you try it through Startup Disk and not only via terminal?
For some reason if I select an entry from the startup disk while booted through OC my system freezes and needs a restart.Did you try it through Startup Disk and not only via terminal?
Good to hear. As for AdviseWindows, please be aware that it is a bit unrelated. This option is to enable choosing (UEFI) Windows on any machine regardless of the Mac model. However, it is only applicable if you use Generic section and choose to update NVRAM. If you do not change your Mac model via Generic, you will have to do bit manipulation manually.I can confirm that I am now able to boot/bless Windows 10 EFI on a dedicated NVMe drive using Startup Disk and with debugging enabled (write to disk) - log attached.
Thank you =)
If anyone wants to try this, make sure to compile OC from the master branch and add the following under Generic key:
Code:<key>AdviseWindows</key> <true/>
Select the startup disk, then select a different preferences panel. The setting is saved when the Startup Disk preferences panel is closed or a different preferences panel is displayed.So is there a way to select the startup disk without rebooting and check what the paths are set for? Because all the time after that it will boot to a black screen with an error cannot find the boot device.
Changing the 34 to a 22, produces a SasEx node, but the format is different than what is defined in edk2. I made a guess that Apple uses 32 bit SasAddress and Lun instead of 64 bit but maybe that is wrong.So it is a mistake of writing 0x22 (34) instead of 0x16 (22).
gfxutil "Msg(34,010000000025385791500E33)"
03221000010000000025385791500e337fff0400
gfxutil "Msg(34,010000000025385791500E33)" | gfxutil
Msg(34,010000000025385791500E33)Node at offset 0 has unknown type 0x03 or sub type 0x22.
gfxutil "Msg(34,010000000025385791500E33)" | gfxutil | gfxutil
03221000010000000025385791500e337fff0400Node at offset 0 has unknown type 0x03 or sub type 0x22.
gfxutil "Msg(22,010000000025385791500E33)"
03161000010000000025385791500e337fff0400
gfxutil "Msg(22,010000000025385791500E33)" | gfxutil
SasEx(0x01000000,0x00253857,0x330E,0x5091,0,0,0)
gfxutil "Msg(22,010000000025385791500E33)" | gfxutil | gfxutil
03161000010000000025385791500e337fff0400
gfxutil "SasEx(0x0100000000253857,0x91500E337074616C,0x0,NoTopology,0,0,0)"
03161800010000000025385791500e337074616c000000007fff0400
gfxutil "SasEx(0x0100000000253857,0x91500E337074616C,0x0,NoTopology,0,0,0)" | gfxutil
SasEx(0x0100000000253857,0x91500E337074616C,0x0,NoTopology,0,0,0)
You didn't show the output from dumpallbootvars or fromHere is the output after I re-flashed the firmware
nvram 8BE4DF61-93CA-11D2-AA0D-00E098032B8C:Boot0080
but I guess it doesn't matter now that it's been fixed and you get the "Boot option matches XML representation" message.No it is the other way around. I only get "Boot option matches XML representation" during fresh firmware flash. In fact the XML file which is in the NVRAM disappears when I boot through OC. That is why it says it is broken, because it is no longer there. I have it somewhere posted and Alex commented on it.but I guess it doesn't matter now that it's been fixed and you get the "Boot option matches XML representation" message.
Good to hear. As for AdviseWindows, please be aware that it is a bit unrelated. This option is to enable choosing (UEFI) Windows on any machine regardless of the Mac model. However, it is only applicable if you use Generic section and choose to update NVRAM. If you do not change your Mac model via Generic, you will have to do bit manipulation manually.
Thanks for the clarification.
By the way, I am unable to boot to macOS recovery with OC enabled using CMD+R or via manual bless and I am not sure why. I have attached the log and would appreciate your input.
I also wish to contribute to the OC project by donating - are you guys accepting donations?
By the way, I am unable to boot to macOS recovery with OC enabled using CMD+R or via manual bless and I am not sure why.
CMD+R may bypass OpenCore depending on the time you press it. As for manual bless, I am not sure what you mean. However, selecting Recovery in OpenCore menu should work. Apple's original AppleBootPolicy protocol implementation has a bug, which resulted in missing trailing slash (\) in recovery paths. Most Macs have it fixed, but apparently your MacPro does not:Thanks for the clarification.
By the way, I am unable to boot to macOS recovery with OC enabled using CMD+R or via manual bless and I am not sure why. I have attached the log and would appreciate your input.
I also wish to contribute to the OC project by donating - are you guys accepting donations?
00:548 00:002 Entry 1 is Recovery at \ (T:2|F:0)
00:551 00:003 Entry 1 is Recovery at dp PciRoot(0x0)/Pci(0x3,0x0)/Pci(0x0,0x0)/Pci(0x9,0x0)/Pci(0x0,0x0)/Msg(34,010000000025385581B47E4C)/HD(2,GPT,8C9F36E7-5B20-49EE-B527-9B54F03013AB,0x64028,0x77359260)/VenMedia(BE74FCF7-0B7C-49F3-9147-01F4042E6842,0F1553FC50F13D4FA7CB613790CC778F)/FD54E2E0-499B-4752-B96B-9EBFCE583AE2
00:554 00:002 Trying to get label from \EFI\BOOT\.contentDetails
00:557 00:003 Trying to get label from \EFI\BOOT\.disk_label.contentDetails
00:560 00:003 Trying to detect Microsoft BCD
CMD+R may bypass OpenCore depending on the time you press it. As for manual bless, I am not sure what you mean. However, selecting Recovery in OpenCore menu should work. Apple's original AppleBootPolicy protocol implementation has a bug, which resulted in missing trailing slash (\) in recovery paths. Most Macs have it fixed, but apparently your MacPro does not:
Code:00:548 00:002 Entry 1 is Recovery at \ (T:2|F:0) 00:551 00:003 Entry 1 is Recovery at dp PciRoot(0x0)/Pci(0x3,0x0)/Pci(0x0,0x0)/Pci(0x9,0x0)/Pci(0x0,0x0)/Msg(34,010000000025385581B47E4C)/HD(2,GPT,8C9F36E7-5B20-49EE-B527-9B54F03013AB,0x64028,0x77359260)/VenMedia(BE74FCF7-0B7C-49F3-9147-01F4042E6842,0F1553FC50F13D4FA7CB613790CC778F)/FD54E2E0-499B-4752-B96B-9EBFCE583AE2 00:554 00:002 Trying to get label from \EFI\BOOT\.contentDetails 00:557 00:003 Trying to get label from \EFI\BOOT\.disk_label.contentDetails 00:560 00:003 Trying to detect Microsoft BCD
FD54E2E0-499B-4752-B96B-9EBFCE583AE2 is a folder, but it is not recognised being so due to missing trailing slash. Therefore IsFolder is not set (F:0) and recovery is not recognised.
To workaround this force install OpenCore version of AppleBootPolicy protocol in the configuration (see UEFI → Protocols → AppleBootPolicy).
Can you please make sure the HEVC decode/encode and the DRM streaming works with this change and it is not reverting the changes made by -wegtree (if you use it). -wegtree is more universal than the direct change in the config file and also applies for cards installed in the slots other than slot one.Many thanks for the workaround which I can confirm has worked on the 5,1 as I am now able to boot the system to recovery.
@cdf Could you update the config.plist in the first post to reflect this change?
Cheers
Use VMM flag spoofing just when software updates are released and rely on boot-args="-no_compat_check", no need to use SMBIOS spoofing.
You need to include your boolog, otherwise no one knows what happens.What is happening here? What makes OC not see the other system volumes?
To prevent the "-no_compat_check" disappearing for whatever reasons, i yet activated a plist in launchdaemons that sets this boot-arg when the mac shuts down, so as to ensure a native boot into catalina is always possible.
Ok, i first have to learn how to write a bootlog... No worry, i will find out!You need to include your boolog, otherwise no one knows what happens.
My daemon is running successfully. But yes, i will have a look to this plist. It might be a better idea to set it there. Thanks for this hint!you could just add the flag to your com.apple.Boot.plist instead and it would always be there for this install.
You need to include your boolog, otherwise no one knows what happens.
you could just add the flag to your com.apple.Boot.plist instead and it would always be there for this install.
By the way dosdude's patch modifies the boot.plist with -no_compat_checkMade some thoughts about putting the "-no_compat_check" into com.apple.Boot.plist rather than to run an automated script at shutdown which is setting this boot-arg immediately prior the shutdown.
What i wanted to ensure is, that for whatever reason this boot-arg is deleted in nvram due to a process in the running system, maybe an update-process or similar, it would be surely set again prior to a reboot.
I'm afraid that, when a boot into catalina is started and in nvram this argument first is missing, the boot process will be denied even before the com.apple.Boot.plist is checked and the argument again is set. Am i wrong?
ok, yes, maybe my fear is groundless and the boot.plist is the very first to be executed before any other system file checkings take place, which do have an impact to booting beeing denied or allowed.View attachment 890712
By the way dosdude's patch modifies the boot.plist with -no_compat_check
I did a diff between your file and Sample.plist 0.5.4, I see several sections removed which are easy to understand why. There are some changes you performed, for example ExposeSensitiveData set to 2 instead of 6, etc. How do you recommend me to proceed with the config.plist updates, should I compare Sample.plist changes between old/new version and apply them to your config?You have to modify the file so that it conforms to the specifications described in the documentation. To see what needs to be changed, you can take a look at the "differences" document. As of this writing, the current config should be compatible.
You need to include your boolog, otherwise no one knows what happens.
Ok, i hope i did it right, DisableWatchDog to true and Target to "81".
Result is only one Entry in the logfile:
00:000 00:000 OCB: Failed to fix the default boot Device Path
You might want to update your OC. Is your scan policy set at 0?Update:
First I changed my blessing command from
"sudo bless --mount /Volumes/EFI --setBoot"
to
"sudo bless --mount /Volumes/EFI --setBoot --file /Volumes/EFI/EFI/BOOT/BOOTx64.efi".
After that the logfile was empty. That fixes the default Boot Path, but that of course didn't fix the issue with boot menu from #861. My OC Boot Menu still has only two entries instead of the correct 12.
But sorry, i didn't install the debug-release of OC. I've don that now with the result of a filled bootlog. See attachment. Did set the debug display level to "2151678017" in config.plist to catch all supportet debug messages...
As i myself (noob) can see, the filesystems of the other bootable systems are not mentioned in the bootlog, only those of the APFS Container with Catalina on the disk where OC resides... I attach a second file with diskname and uuid's where all my 12 bootable filesystems can be seen.
PS: Did set the debug display level to "2151678017" in config.plist to catch all supportet debug messages...
You might want to update your OC. Is your scan policy set at 0?
Use VMM flag spoofing just when software updates are released and rely on boot-args="-no_compat_check", no need to use SMBIOS spoofing.
you could just add the flag to your com.apple.Boot.plist instead and it would always be there for this install.
Made some thoughts about putting the "-no_compat_check" into com.apple.Boot.plist rather than to run an automated script at shutdown which is setting this boot-arg immediately prior the shutdown.
What i wanted to ensure is, that for whatever reason this boot-arg is deleted in nvram due to a process in the running system, maybe an update-process or similar, it would be surely set again prior to a reboot.
I'm afraid that, when a boot into catalina is started and in nvram this argument first is missing, the boot process will be denied even before the com.apple.Boot.plist is checked and the argument again is set. Am i wrong?
View attachment 890712
By the way dosdude's patch modifies the boot.plist with -no_compat_check
Maybe you have to add to Preboot also.Ok, of course running catalina without OC (boot into OC then only for system updates) is a little off-topic here, but maybe the trick with the Boot.plist is interesting anyway, when it would work.
I've tested this now: "-no_compat_check" added to the com.apple.Boot.plist instead of running my "set -no_compat_check on shutdown"-script:
View attachment 891069
Did this in catalina with:
sudo /usr/libexec/PlistBuddy -c "Set :'Kernel Flags' '-no_compat_check'" "/Library/Preferences/SystemConfiguration/com.apple.Boot.plist"
So then I removed my script from launchdeamons and,too, deleted the boot-arg from nvram, so i have a "clean machine" now.
As suggested, the Mac should be able to boot into Catalina without OC now because of the setting of the "-no_compat_check" as a Boot.plist entry.
Catalina is still set as Startup Disk in the preference pane. Reboot...
But sorry, that was denied:
View attachment 891070
I rebooted three times... a fourth trial by starting with <option> into Apple Boot Menu and selecting catalina manually. None worked.
I then booted back into Mojave via Apple Boot Menu and installed my script again.
After that booting into Catalina without OC was successful again. After reinstalling the script in launchdemons of catalina and, just to be safe, manually deleting the boot-arg in nvram the reboot work, too.
It seems that my fear of com.apple.Boot.plist not read prior to the system check is justified?
Any other experiences?