Jump to content

[Solved] OpenCore dual boot alwayse fixed at win10, cannot set default to macOS ( for emulated NVRAM )


dewen
 Share

19 posts in this topic

Recommended Posts

Hi :
I have a problem with OC dual boot on one single HDD.
I can not set the default boot entry to macOS, it alwayse fixed at win10.

Preference -> Startup Disk or Ctrl-Enter at OC picker : not work.

 

My Hardware : Dell XPS 9100 Studio. LGA 1366. 5ND3X X58.  Xenon X5690 CPU.
BIOS ver. : A04 No UEFI. no native NVRAM 

320G SATA HDD. 16G RAM. GT 730

 

Legacy install OC 0.7.2 Debug ( BootInstall_X64.tool + HfsPlusLegacy.efi ) 
10.5.7 Catalina, then make GUID partition under macOS and install win10 from OC picker menu.

I installed Emulated NVRAM to support Boot0080 and BootOrder nvram variable,

because they are necessary for default boot entry.

I put LogoutHook folder in \Users\Shared\ and run

/Users/Shared/LogoutHook/LogoutHook.command install

and set 

Booter - DisableVariableWrite : no
Misc - Security - ExposeSensitiveData : to 0x3.    ScanPolicy : to 0
NVRAM : LegacyEnable, LegacyOverwrite, WriteFlash : yes
UEFI Quirk : RequestBootVarRouting : yes

 

it seems works, nvram.plist created at root EFI and updated after each boot.

 

Test :

1. clean boot no Bot0080 data in NVRAM and nvram.plist. 

 303603132_ScreenShot2021-09-08at12_47_08AM.png.a9506233304a399503d40675291ac0c6.png

 

614252336_ScreenShot2021-09-08at12_46_09AM.png.549ad5cfa5a9fdc3ba9fdcd430e31128.png

Attach the debug boot log and nvram.plist 

opencore-2021-09-07-164106.txtnvram.plist

 

2. restart, at OC picker, choose macOS and press Ctrl-Enter. it set Boot0080/BootOrder data to nvram vaiable

203287474_ScreenShot2021-09-08at12_51_50AM.png.bb2e890dd81dea79607c372300005d61.png

attach boot log and nvram.plist ( the same )
nvram.plistopencore-2021-09-07-164847.txt

then restart again, the Boot0080/BootOrder will be write to nvram.plist and used on next boot.

 

3. OC should read the updated nvram.plist(with BootOrder), but it seems not read it, the picker still use win,

so I moved to macOS and boot it ( without Ctrl-Enter ).
terminal command shows no Boot0080 data, means nvram.plist with Boot0080 not read or set correctly.

 192212727_ScreenShot2021-09-08at1_01_26AM.png.094bc22f43db7a9fadea5c653c2d6e0a.png

 

The updated nvram.plist has Boot0080 data but not work

nvram.plist

848737885_ScreenShot2021-09-08at1_00_16AM.png.3587a22c42987499c1141a5f0df8f927.png

 

attach the boot log, the nvram for Boot0080/BootOrder seems setting success, but not work. not supported ?

opencore-2021-09-07-165446.txt

1872775788_ScreenShot2021-09-08at1_04_09AM.thumb.png.8b076e3732d4f0d03881c9b3f38fda3d.png

344483131_ScreenShot2021-09-08at1_08_17AM.thumb.png.12f152d6149e4e8b8757db3b2bb448b2.png


Attach my config.plist
config.plist

It seems OC emulated nvram not support legacy boot system ?
so the updated nvram.plist with Boot0080/BootOrder can not be read or set at the OC picker stage ?

so I can not set default boot entry to macOS.


Any suggest or help will be appreciated, thank you !

Edited by dewen

3 hours ago, Slice said:

This problem is resolved in Clover.

Hello , thank you for the information.


I have installed  Clover with its Legacy bootloader and NVRAM emulation for High Sierra before,

I can update to Big Sur and dual boot win10 without problem, maybe it means the NVRAM emulation on Clover is OK. I can not update/install to Big Sur on OpenCore without native NVRAM/emulated NVRAM support, it will go to boot loop at 2nd stage like asus z97 x99
https://dortania.github.io/OpenCore-Install-Guide/extras/big-sur/#asus-z97-and-hedt-ie-x99-and-x299-failing-stage-2-installation


There is a discussion :

https://github.com/acidanthera/bugtracker/issues/580
I am not sure if the issue already been fixed since it is low priority and closed at 2020.May.

Thank you.

Edited by dewen

So what do you want? Resolve the problem to you? Use Clover.

Help to acidantera to resolve the problem with Opencore? They already closed the issue as they don't want to do this.


3 hours ago, Slice said:

So what do you want? Resolve the problem to you? Use Clover.

Help to acidantera to resolve the problem with Opencore? They already closed the issue as they don't want to do this.

 

I had search the forum and found  MacNB had the same problem before but he can resolve the problem,

I ask for his help by private message, he suggest to create a subthread in the forum so  

we can discussion here and if someone had the same problem can benefit from it.

That's why I am here, sorry for that....

 

I

Edited by dewen

Update to OpenCore 073, validate the config, reboot and see if the problem persists. And if it does, try clover. Since Clover uses OpenRuntime and Quirks now, it's relatively easy to transfer settings between OC <> Clover.

Edited by 5T33Z0
  • Like 1

4 hours ago, dewen said:

 

I had search the forum and found  MacNB had the same problem before but he can resolve the problem,

I ask for his help by private message, he suggest to create a subthread in the forum so  

we can discussion here and if someone had the same problem can benefit from it.

That's why I am here, sorry for that....

 

I

 

I just updated my working Legacy system from OC 0.6.6 to the same version that you are trying (Released 0.7.2) and for me NVRAM emulation works.

That is, I can select a Start Up disk from the System Preferences and OC bootpicker correctly displays & boots that disk.

I can select another disk while in OC Bootpicker and press Control-Enter and boot that OS fine...login, reboot and the new default boot disk is correctly displayed.

Obviously you will not be able to select the macOS startup disk from Windows bootcamp utility. Even Clover cannot do that.

 

There's no need to use Clover. In fact, if you installed Clover on that boot drive, you will have to completely uninstall it....especially the script that runs on reboot.

See this https://dortania.github.io/OpenCore-Install-Guide/clover-conversion/ and follow the steps listed in "Cleaning the Clover Junk in macOS".

 

Please post your config.plist file so that we can have a look at what you have configured.

14 hours ago, Slice said:

This problem is resolved in Clover.

 

Also resolved in Opencore that Clover now uses.

He is looking for a solution in Opencore not Clover.

  • Like 1

1 hour ago, MacNB said:

 

 

Also resolved in Opencore that Clover now uses.

He is looking for a solution in Opencore not Clover.

Why looking for a solution in opencore if Clover use it?


16 hours ago, dewen said:

There is a discussion :

https://github.com/acidanthera/bugtracker/issues/580
I am not sure if the issue already been fixed since it is low priority and closed at 2020.May.

Thank you.

 

That discussion is not related to your problem. That discussion is about another chipset that has a real NVRAM but it's not functional and folks were working around it by trying to use emulation. Are you sure that your x58 system does not have a h/w NVRAM ?

 

Also, I found your config.plist. Looks OK but I noticed that you are not using the OC OpenCanopy GUI for the bootpicker. It should not make any difference to the boot selection. Why do you not use it ?. Try it just in case. I use it.

 

 

3 hours ago, Slice said:

Why looking for a solution in opencore if Clover use it?

 

You assume too much. If he started with OC and want to use then no need to discourage anyone especially if it works for many people.

Edited by MacNB
Additional question
  • Like 1

15 hours ago, MacNB said:

That discussion is not related to your problem. That discussion is about another chipset that has a real NVRAM but it's not functional and folks were working around it by trying to use emulation. Are you sure that your x58 system does not have a h/w NVRAM ?

Also, I found your config.plist. Looks OK but I noticed that you are not using the OC OpenCanopy GUI for the bootpicker. It should not make any difference to the boot selection. Why do you not use it ?. Try it just in case. I use it.


My X58 system is Dell XPS Studio 9100 with motherboard 5DN3X, 
It has h/w NVRAM, but seems not "compatible" with macOS like Asus x99 chipset. 

2021-09-09_222005.png.020d7f693f13bc0655c8e1b7dafa9817.png

I installed OpenCanopy GUI, with Preference -> Startup Disk set to macOS, reboot,

but it still fixed at Windows picker.
( due to debug reason so I choose not to  install it at first for less variable cause ) 
attach the config.plist(with GUI), nvram.plist ( with Boot0080 var ) and boot log

config.plist nvram.plistopencore-2021-09-09-135005.txt

 

Can you share your config.plist,
and the "boot" file locate in the EFI root directory ? ( installed by BootInstall_X64.tool )
Do you use HfsPlusLegacy.efi  driver ?

Thank you for your kindly help to spend time for re-install new version OC and check my config for the problem I met, I am appreciated, thank you.
 

 

Edited by dewen

On 9/8/2021 at 10:24 PM, 5T33Z0 said:

Update to OpenCore 073, validate the config, reboot and see if the problem persists. And if it does, try clover. Since Clover uses OpenRuntime and Quirks now, it's relatively easy to transfer settings between OC <> Clover.

 

Thank you for the suggestion,  there is a new function in OC 073 :
ForceOcWriteFlash UEFI quirk to enable writing OC system variables
maybe it can help, I will try it later, thank you.


32 minutes ago, dewen said:

 

Thank you for the suggestion,  there is a new function in OC 073 :
ForceOcWriteFlash UEFI quirk to enable writing OC system variables
maybe it can help, I will try it later, thank you.

 

I have to try that on my laptop as well, since the documentation specicifally mentions my ThinkPad model. I had issues when trying to reset NVRAM using OpenCore's integrated NVRAM Reset like a year ago. Since I use the CleanNVRAM.efi instead, they are gone.

  • Like 1

55 minutes ago, antuneddu said:

I assume your EFI is like that

 1212848630_Schermata2021-09-09alle16_41_01.png.f08ec7661f282eecb8ba7c4fc7835d65.png

Have you tried from the Windows terminal as Admin to execute this command?

bcdedit /set {bootmgr} path \EFI\OC\OpenCore.efi

Thank you for your suggestion, my EFI is just like you said, except a "boot" file in the root EFI,

due to my BIOS lack UEFI support, I had to use Legacy boot install to create the "boot" file.
1060554724_ScreenShot2021-09-09at10_47_05PM.png.bcb66029d0b6104929b51511596e5c8c.png
I use the bcdedit /set {bootmgr} path \EFI\OC\OpenCore.efi as admin in terminal,

it said successful, then reboot to picker, but it still fixed at win.
then I repeat the ctrl-enter at picker but still not work.

I have another systems ( Asus P30AD/Acer X6630G Haswell CPU ) both support UEFI and native NVRAM, and I can use OC to dual boot with default OS without problem.

I had tried set OC BlessOverride to \EFI\OC\OpenCore.efi,

then there is only macOS in the picker, windows disappear...

I am not sure the problem ( fixed at win10 )  is due to 
1. lack UEFI support ( use Legacy boot + HfsPlusLegacy.,efi ) or
2. lack native NVRAM ( use emulated NVRAM )
so OC not support the default boot OS
still trying to figure it out...thank you.
 

Edited by dewen

2 hours ago, dewen said:


My X58 system is Dell XPS Studio 9100 with motherboard 5DN3X, 
It has h/w NVRAM, but seems not "compatible" with macOS like Asus x99 chipset. 

2021-09-09_222005.png.020d7f693f13bc0655c8e1b7dafa9817.png

I installed OpenCanopy GUI, with Preference -> Startup Disk set to macOS, reboot,

but it still fixed at Windows picker.
( due to debug reason so I choose not to  install it at first for less variable cause ) 
attach the config.plist(with GUI), nvram.plist ( with Boot0080 var ) and boot log

config.plist 26.68 kB · 0 downloads   nvram.plist 2.82 kB · 0 downloads opencore-2021-09-09-135005.txt 256 kB · 0 downloads

 

Can you share your config.plist,
and the "boot" file locate in the EFI root directory ? ( installed by BootInstall_X64.tool )
Do you use HfsPlusLegacy.efi  driver ?

Thank you for your kindly help to spend time for re-install new version OC and check my config for the problem I met, I am appreciated, thank you.
 

 

 

Attached is my config file (serials redacted).

Attached boot file too. This will will not make any difference as it is the same as the one you have (if installed from 0.7.2 release).

Yes I use HfsPlusLegacy.efi driver.

 

All BIOS chips are non-volatile (NVRAM) by definition so that they can be updated with new versions of the BIOS by dedicated Flash updaters.

But the word NVRAM in the spec sheet does not mean a section of the BIOS chip is used (read/write) by the OS's for what we call "NVRAM" (used for storing UEFI variables).

 

I do not know how to verify whether your (or any) motherboard has read/writable NVRAM variable section at runtime.

I also do not know how OC (or Clover) distinguishes between "real" or emulated NVRAM when it is reading/writing to it.

 

In your case, it appears to be a "hybrid" case of real & emulated NVRAM judging by:

19:612 00:255 OCB: BootOrder/BootNext are not present or unsupported

My theory is that when macOS writes the Startup Disk id into the NVRAM, it's probably being written "somewhere" on the real NVRAM and a cached copy in the OS.

The cached copy is written to the nvram.plist (which looks correct) on restart by LogoutHook.command.

When OC come along, it may be reading from the real NVRAM and picking up garbage and hence prints that message above.

Seems like some corruption is taking place.

 

Would need to dig into the source code to see why OC prints that message.

 

Probably best to raise a new bug report with the details attached (motherboard specs, config.plist, logs when booting default and when pressing Ctrl-Enter to set the default boot).

 

 

 

config-MacNB-530.plist boot

  • Thanks 1

@dewen I have just reproduced your problem on my legacy system.

 

I don't know how i missed it .......:wallbash:

but you have set RequestBootVarRouting=TRUE.

It needs to be set to RequestBootVarRouting=FALSE.

 

Please change it and report back.

 

Edited by MacNB
typo
  • Like 1
  • Thanks 1

On 9/10/2021 at 1:34 AM, MacNB said:

@dewen I have just reproduced your problem on my legacy system.

 

I don't know how i missed it .......:wallbash:

but you have set RequestBootVarRouting=TRUE.

It needs to be set to RequestBootVarRouting=FALSE.

 

Please change it and report back.

 

 

It works !!! by your suggestion and modify my config.plist it works !!!

now I can dual boot and set default OS, thank you very much !!!

 

Solution : (for emulated NVRAM )

To enable persistent Default Boot setting via StartUp Disk preferences,
set the following values in the config.plist:

1. RequestBootVarRouting = FALSE

2. LauncherOption = Disabled

 

thank you !!!

Edited by dewen
  • Like 2

7 hours ago, dewen said:

 

It works !!! by your suggestion and modify my config.plist it works !!!

now I can dual boot and set default OS, thank you very much !!!
change 2 area in config.plist :
1. RequestBootVarRouting = False ( in UEFI Quirks )
2. LauncherOption = disabled ( in Misc -> Boot Properties )
and emulated NVRAM

it works !

thank you !!!

 

You are welcome. Great job. Glad you have a solution now. 👏

  • Thanks 1

24 minutes ago, MacNB said:

 

You are welcome. Great job. Glad you have a solution now. 👏

19:567 00:509 OCB: Found 6 potentially bootable filesystems
19:822 00:254 OCB: Found 3 BootOrder entries with BootNext excluded
20:077 00:254 OCB: efi-boot-device-data - Not Found
20:331 00:254 OCB: efi-boot-next-data - Not Found
20:586 00:254 OCB: efi-backup-boot-device-data - Not Found
20:841 00:254 OCB: efi-apple-recovery-data - Not Found
21:095 00:254 OCB: Dumping BootOrder
21:349 00:254 OCB: 0 -> Boot0002 = 
84:053 00:255 OCB: Should boot from 2. macOS (T:2|F:0|G:0|E:0|DEF:1)
84:308 00:254 OCB: Found default entry in BootOrder, reordering 80 <-> 2
Above is the correct log.
Conclusion :
If you use native NVRAM, RequestBootVarRouting = True
But for emulated NVRAM, RequestBootVarRouting must set to False

Though I don't know why it should be set to false ? 😅
and if you set LauncherOption to full, it will not work.
Anyway, thank you very much ! 
This problem bother me for more than one month, 
I even dream that I solve it, I am so lucky that you save me,

now I can have a good sleep 😄

 

Edited by dewen

  • dewen changed the title to [Solved] OpenCore dual boot alwayse fixed at win10, cannot set default to macOS ( for emulated NVRAM )

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...