Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.
Status
The first post of this thread is a WikiPost and can be edited by anyone with the appropiate permissions. Your edits will be public.

Ludacrisvp

macrumors 6502a
May 14, 2008
797
363
To protect from Windows UEFI causing issues with MP firmware we can isolate Windows from updating critical NVRAM variables. Most likely the issues are with SecureBoot/PK variables, but we need more information about it.
If I recall correctly @tsialex (or maybe it was @h9826790) had said the issue seemed to stem from windows filling the NVRAM with a ton of certificates. ... hopefully one of them can confirm with some evidence for you as well.
[automerge]1581106280[/automerge]
Would you consider distilling into a separate thread for the 3,1 MacPro and RX580 as you previously did for refind?
I probably could, but at this point, I don't really think they are all that different requirement wise.
Then again my 3,1 has native APFS in the boot rom so mine is one step closer to the 5,1 config due to this.

For the 3,1 we really just want to be sure we are injecting the SSE4.2 emulator into any macOS version so our GPU can function and since we are doing that it just makes sense to inject lilu / weg and keep a cleaner installed OS.
 

startergo

macrumors 603
Sep 20, 2018
5,021
2,283
To protect from Windows UEFI causing issues with MP firmware we can isolate Windows from updating critical NVRAM variables. Most likely the issues are with SecureBoot/PK variables, but we need more information about it.
@tsialex can elaborate more on this.
 

startergo

macrumors 603
Sep 20, 2018
5,021
2,283
however all your suggestions are currently beyond my understanding
From the manual:
"2. BlessOverride Type: plist array Description: Add custom scanning paths through bless model. Designed to be filled with plist string entries containing absolute UEFI paths to customised bootloaders, for example, \EFI\Microsoft\Boot\bootmgfw.efi for Microsoft bootloader. This allows unusual boot paths to be automaticlly discovered by the boot picker. Designwise they are equivalent to predefined blessed path, such as \System\Library\CoreServices\boot.efi, but unlike predefined bless paths they have highest priority"

So try modifying this:
Code:
\EFI\Microsoft\Boot\bootmgfw.efi
With your path of refindx64.efi
Is this correct @vit9696 ?
 

Dayo

macrumors 68020
Dec 21, 2018
2,257
1,279
I probably could, but at this point, I don't really think they are all that different requirement wise.
Then again my 3,1 has native APFS in the boot rom so mine is one step closer to the 5,1 config due to this.

For the 3,1 we really just want to be sure we are injecting the SSE4.2 emulator into any macOS version so our GPU can function and since we are doing that it just makes sense to inject lilu / weg and keep a cleaner installed OS.

Would be really great if you could as without your refind one listing stuff clearly, I would not have been able to move to Mojave as a long evolving thread such as this is difficult for some of us to fully grasp what is going on.

Luckily, I have also done the native APFS ROM mod on my 3,1.
 
  • Like
Reactions: Ludacrisvp

tsialex

Contributor
Jun 13, 2016
13,454
13,601
If I recall correctly @tsialex (or maybe it was @h9826790) had said the issue seemed to stem from windows filling the NVRAM with a ton of certificates. ... hopefully one of them can confirm with some evidence for you as well.
The Windows UEFI problem bricking MP5,1 or making it incapable of booting back to macOS is related to SecureBoot like @vit9696 said.

There are some situations that when Windows UEFI is writing the certificate to a NVRAM that have the first store of the volume almost full, it fills it up making havoc. Usually this is reparable most of the time since you can boot the blessed boot drive, but you can't change it. This can happen with other Macs too, but it's not a common occurrence like with MP5,1, two people with Mac minis late-2012 asked for a clean-up, one with a iMac mid-2010. I still have the dumps and I can send by PM, if @vit9696 wanna take a look.

Another problem is when MP5,1 have a firmware without microcodes, like with MP51.0087.B00, Windows 10 crashes while signing, corrupting the NVRAM. This is a total brick and you have to desolder/re-program the SPI flash externally to repair. Rare situation and improbable to ever happen again, but made several bricks here when MP51.0087.B00 was the current High Sierra BootROM release.
 

startergo

macrumors 603
Sep 20, 2018
5,021
2,283
From the manual:
"2. BlessOverride Type: plist array Description: Add custom scanning paths through bless model. Designed to be filled with plist string entries containing absolute UEFI paths to customised bootloaders, for example, \EFI\Microsoft\Boot\bootmgfw.efi for Microsoft bootloader. This allows unusual boot paths to be automaticlly discovered by the boot picker. Designwise they are equivalent to predefined blessed path, such as \System\Library\CoreServices\boot.efi, but unlike predefined bless paths they have highest priority"

So try modifying this:
Code:
\EFI\Microsoft\Boot\bootmgfw.efi
With your path of refindx64.efi
Is this correct @vit9696 ?
So I used the attached refind and this setting:
Code:
<key>Misc</key>
    <dict>
        <key>BlessOverride</key>
        <array>
            <string>/EFI/refind/refind_GOPx64.efi</string>
        </array>
And I got EFI option in OC, which when selected, booted to GRUB. All visible on the display.
Now testing this:
Code:
<key>Misc</key>
    <dict>
        <key>BlessOverride</key>
        <array>
            <string>/EFI/refind/refind_x64.efi</string>
        </array>
[automerge]1581121873[/automerge]
Same grub menu. Apparently there is something wrong in the refind config because it cannot find the default boot menu and the options, but as a proof of concept it works. Also entering refind un-blesses the default boot option in OC. You have to re-bless with ENTER+RETURN
 

Attachments

  • refind.zip
    944 KB · Views: 384
Last edited:

octoviaa

macrumors regular
Oct 19, 2013
172
88
So I used the attached refind and this setting:
Code:
<key>Misc</key>
    <dict>
        <key>BlessOverride</key>
        <array>
            <string>/EFI/refind/refind_GOPx64.efi</string>
        </array>
And I got EFI option in OC, which when selected, booted to GRUB. All visible on the display.
Now testing this:
Code:
<key>Misc</key>
    <dict>
        <key>BlessOverride</key>
        <array>
            <string>/EFI/refind/refind_x64.efi</string>
        </array>

Thank you Startergo,

The solution works, by adding the BlessOveridde entry:
IMG_4567.jpeg


And then once I select the EFI, rEFInd shows:
IMG_4565.jpeg

Thank you very much.

Now unfortunately my HEVC decode acceleration is not working.
Should I inject the WEG-GREEN kext into the OC/Kext?

Will relook at H98's guide hopefully can find a solution.

HEVC decode works now after following instruction from H98's guide:

I edit my config file to add following:
- Lilu and WEG kext
- NVRAM boot args (shikigva)
- SMBIOS board Id

Thanks H98 for such a great guide, btw you can update your guide for information on boot picker for VEGA as confirm it works for my VEGA 64.

I attached my config (based on open core 0.5.5 RELEASE default), but please remove the 'BlessOverride' if you don't use rEFInd or modify the path as required.

Thanks all
 

Attachments

  • config copy.zip
    3.4 KB · Views: 331
Last edited:
  • Like
Reactions: h9826790 and cdf

octoviaa

macrumors regular
Oct 19, 2013
172
88
Thank you Startergo,

The solution works, by adding the BlessOveridde entry:
View attachment 893087

And then once I select the EFI, rEFInd shows:
View attachment 893088

Thank you very much.

Now unfortunately my HEVC decode acceleration is not working.
Should I inject the WEG-GREEN kext into the OC/Kext?

Will relook at H98's guide hopefully can find a solution.

HEVC decode works now after following instruction from H98's guide:

I edit my config file to add following:
- Lilu and WEG kext
- NVRAM boot args (shikigva)
- SMBIOS board Id

Thanks H98 for such a great guide, btw you can update your guide for information on boot picker for VEGA as confirm it works for my VEGA 64.

I attached my config (based on open core 0.5.5 RELEASE default), but please remove the 'BlessOverride' if you don't use rEFInd or modify the path as required.

Thanks all
Follow up on my testing booting W10 CSM, unfortunately it is unsuccessful.
Though rEFInd able to shows the W10 it can't load (boot) it.

Got stuck with following message:

IMG_4568.jpeg


Strangely enough the OSX1T is being mentioned in the text above, it is actually Mojave on SATA, the windows is on different SSD SATA (under the CD-DRIVE).

I tried all three available boot partition options shown for W10 by rEFInd but none works.
[automerge]1581129105[/automerge]
Follow up on my testing booting W10 CSM, unfortunately it is unsuccessful.
Though rEFInd able to shows the W10 it can't load (boot) it.

Got stuck with following message:

IMG_4568.jpeg


Strangely enough the OSX1T is being mentioned in the text above, it is actually Mojave on SATA, the windows is on different SSD SATA (under the CD-DRIVE).

I tried all three available boot partition options shown for W10 by rEFInd but none works.
Bad news apparently my W10 is being corrupted now after failed attempt to boot from rEFInd, I can't boot into it even with RequestBootVarRouting disabled and choosing BootCamp from startup disk. After restart it will just go back to OC Boot-picker again.

Anyone have suggestions on methods to recover / repair a botched W10 CSM?

Thanks.
 
Last edited:

octoviaa

macrumors regular
Oct 19, 2013
172
88
Reset NVRAM
Tried this but still no go, W10 not bootable now.

I reset NVRAM -> boot to Mojave (SATA) -> choose startup disk to boot to W10 -> failed (black screen)
I have to reset NVRAM again to boot back to Mojave (SATA) again.

Will try to do repair from W10 CD-ROM, I'll need to consult H98 W10 CSM installation again.
 

startergo

macrumors 603
Sep 20, 2018
5,021
2,283
Ok. So here is a short tutorial on how to get a full blown boot picker through refind from OC boot picker.

1. Download the "Next loader" fork of Refind.
2. Attach a USB drive to the machine.
3. Open Terminal and type :
Code:
sudo -s
4. Drag and drop the "install.sh" from "~/next-loader-master/build/install.sh" in terminal and press enter.
5. Follow the prompts.
6. How do you want to install: Option 1 Install/Uninstall Next Loader.
7. How do you want to install Next Loader? Select option 2 "Install as the default boot manager".
8. Select the partition where you want to install Next Loader. Select the USB drive by typing its name as found by next loader:
1581136187483.png

9. Let it do its work. Don't select the reboot option just finish (option F).
10. Re-bless OC. You need to mount the EFI partition where OC sits and issue the bless command:
Code:
sudo bless --mount /Volumes/EFI --setBoot --file /Volumes/EFI/EFI/BOOT/BOOTx64.efi --verbose
10. Reboot. At OC boot menu you will see the option "UEFI Boot Manager- (external)":

1581136493637.png

11. After selection you may see this screen:
1581136576763.png

12. Hit Any key to continue:
1581136651705.png

13. On the Left side the 2 entries are for EFI boot. One of them is my WIN10 EFI boot, which works. On the right side one of the other entries is the WIN 10 Legacy boot (for the same drive). For me that entry fails because my Windows is installed in UEFI mode. There are some installations like the "Windows To Go" installs where both entries should work and some where only Legacy will work. This fork worked for me before in blind selection it never connected the GOP driver to the screen though. Thanks to OC now the GOP driver works perfectly as you can see thanks to @vit9696 for OC and @abdyfranco for the Next Loader.
 
Last edited:

octoviaa

macrumors regular
Oct 19, 2013
172
88
Hi All,

I've found something unexpected, so while trying to fix my 'broken' W10 CSM, I discover a surprising event.

I fix my W10 CSM install by doing bootrec /fixmbr and bootrec /fixboot while booting from W10 installation DVD

I boot to DVD from the OC boot picker then goes to the command line and execute the fix:
1. diskpart
2. select the W10 disk
3. select the 'system-reserved' partition
4. set active
5. exit (from diskpart)
6. bootrec /fixmbr
7. bootrec /fixboot
6. reboot

Now while the W10 DVD still in the drive, I pressed 'C' during boot surprisingly I end up booting to W10 CSM.
Now it seems the system is trying to load from DVD as I can hear the sound of the drive spinning, however it end up booting my W10 CSM in SATA.

And if I restart, and didn't press the 'C' OC boot picker shows as normal.

Unfortunately booting to W10 CSM by pressing 'C' during startup only works when the W10 DVD is in the drive.
If the W10 DVD not in the drive, pressing 'C' during startup the system will just goes blank.
I tried holding the 'C' keyboard for a while up to 3 minutes but still blank then once I release the 'C' the boot picker shows up in about 10 seconds.

So now I just left my W10 installation DVD in the drive so when I want to boot to W10 CSM, I just need to restart and press 'C' :)
 

johnnymcc

macrumors regular
Jul 30, 2019
131
36
I have dosdude installed and am currently at 10.5.2. The patcher won't update for me to 10.5.3. Can I somehow transition to this opencore process so I get OTA updates natively? What would the proces be?
 

Attachments

  • Screen Shot 2020-02-08 at 9.19.47 AM.png
    Screen Shot 2020-02-08 at 9.19.47 AM.png
    182.9 KB · Views: 350

Ludacrisvp

macrumors 6502a
May 14, 2008
797
363
I have dosdude installed and am currently at 10.5.2. The patcher won't update for me to 10.5.3. Can I somehow transition to this opencore process so I get OTA updates natively? What would the proces be?
The patcher you show is *not* for macos updates. It is for updates to patches made to the os to work on unsupported hardware.
 

h9826790

macrumors P6
Apr 3, 2014
16,656
8,587
Hong Kong
I have dosdude installed and am currently at 10.5.2. The patcher won't update for me to 10.5.3. Can I somehow transition to this opencore process so I get OTA updates natively? What would the proces be?

Yes, simply install OpenCore onto your Catalina had drive's EFI partition (make sure you config it as per post #1 step 4).

Then download Catalina installer from Appstore, and run it.
 

startergo

macrumors 603
Sep 20, 2018
5,021
2,283
Wow. Thanks @vit9696. Now we need to test it. If it works everyone switch over to UEFI Windows.
Code:
<key>ProtectSecureBoot</key>
             <false/>
Code:
Protect UEFI Secure Boot variables from being written. Reports security violation during attempts to write to and variables from the operating system.
This quirk mainly attempts to avoid issues with NVRAM implementations
   with problematic defragmentation, such as select Insyde or MacPro5,1
 

astonius86

macrumors member
Apr 25, 2017
93
32
Mt Juliet, TN
Spent some time this morning with @w1z looking at my setup. After some tweaking without success we came to a realization about my configuration: OpenCore and Windows 10 are competing for the /EFI/BOOT/bootx64.efi position.

When I installed OpenCore I noticed there was already a bootx64.efi file in my EFI partition. I backed it up and overwrote it with the OC EFI file, not realizing that was how my Windows 10 install was able to boot without OpenCore. We tried tweaking the folder structure to move the Windows 10 EFI file into a different path that the OC boot picker might see, but that didn't work, so we rolled everything back, and I was able to get back to Windows 10 by removing OpenCore and putting my EFI file backup back in place. @w1z recommended installing Windows 10 on a separate physical disk to get around this conflict and also reporting some of our findings to @vit9696.

I thought I might try one last thing. I have a few physical disks in my Mac Pro, some of which have their own EFI partitions. I decided to revert my primary EFI partition back to how it was pre-OpenCore and install OpenCore to one of those secondary EFI partitions. I booted into recovery, mounted that secondary EFI partition, blessed it, rebooted, and.... success! I now have a BOOTCAMP Windows option in OpenCore's boot picker, and both Windows 10 and macOS boot successfully from the picker.

I still would love to find a solution that requires only a single EFI partition as well as one that allows switching OSes from within each OS itself (are either even possible, @vit9696?), but at least it's working now. Huge thanks to @w1z for all the help!
 

h9826790

macrumors P6
Apr 3, 2014
16,656
8,587
Hong Kong
Changes to the GOP:
"Setting a background different from black could help testing proper GOP functioning. "
Whoever has issues with Radeon VII boot picker may test the latest OC with these settings.

Tested with my Radeon VII. Nil help yet.

config.plist updated as per the latest documents. Apart from moving all the relevant entry to the Output section. PickerAttributes set to 1F. But still the same situation, black screen during the Boot Picker timeout period, then Apple logo shows up straight away when macOS start to load. So, GOP is working, Radeon VII can display, but only after boot picker timeout.

Anyway, I wonder if that's my setup's problem. e.g. abnormal aspect ratio & high refresh rate monitor

I re-fresh my PULSE RX580 8GB with the factory ROM to restore the GOP's function, but still same situation. I tested that with multiple config.plist / OpenCore.efi (0.5.5 and 0.5.6 beta), still can't get the boot picker to show up (but Apple logo can show up before GPU driver loaded). Two of them are the known good config.plist (work on other users cMP with RX580). May be I did something wrong (with the RX580). But will need more time to figure out the issue.

Let's see if rroumen can get us some good news.
 

startergo

macrumors 603
Sep 20, 2018
5,021
2,283
@astonius86 Not sure what is going on with your setup. I have Windows 10 on an NVME drive in EFI mode (as yours) and it boots without issues from the OC boot picker or from the Apple boot picker (with an EFI video card). It also boots from Refind chain loaded to OC. My OC is on an EFI in a USB drive.
 

johnnymcc

macrumors regular
Jul 30, 2019
131
36
Yes, simply install OpenCore onto your Catalina had drive's EFI partition (make sure you config it as per post #1 step 4).

Then download Catalina installer from Appstore, and run it.

Ok cool. Any issues if I use Boot Camp and have Windows 10 installed on a separate SSD in tray 1?
 

astonius86

macrumors member
Apr 25, 2017
93
32
Mt Juliet, TN
@astonius86 Not sure what is going on with your setup. I have Windows 10 on an NVME drive in EFI mode (as yours) and it boots without issues from the OC boot picker or from the Apple boot picker (with an EFI video card). It also boots from Refind chain loaded to OC. My OC is on an EFI in a USB drive.

Are your Windows 10 and macOS partitions on the same physical drive? Did you overwrite a bootx64.efi when you installed OC? Also, my PCIe drive is AHCI, not NVMe. Not sure if this makes a difference, but @w1z seemed to believe it might, and I should mention it to @vit9696 as well (forgot to do so in my original message).
 

h9826790

macrumors P6
Apr 3, 2014
16,656
8,587
Hong Kong
Ok cool. Any issues if I use Boot Camp and have Windows 10 installed on a separate SSD in tray 1?
No.

But it may need few more steps to switch between macOS and Windows.

If you read through this thread, you should able to see the work around, and know that we are trying to fix it now.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.