Jump to content

Persistent NVRAM boot drive option in Clover ('Startup Disk' Priority)


Careless
 Share

11 posts in this topic

Recommended Posts

I can't seem to register for an acct on SourceForge, so I'm posting here in case Slice sees this :-D

 

I would like to use pref.pane Startup Disk to control my boot drive from Clover.

 

Currently the clover/NVram.c file has a function that removes the efi-boot-drive variable from NVram after every reboot.

 

At one point, IgnoreNVRAMboot was the opposite of what I think should be a flag to set a keep/delete variable in the config.plist file for the default boot drive.

 

Perhaps leaving the default action to delete the efi-boot-drive variable could remain, but a flag to prevent it from happening could be an option? something like:

<key>Boot</key>
     <dict>
          <key>PersistentNVRAMBoot</key>
          <true/>
     </dict>

Or maybe even

<key>Boot</key>
     <dict>
          <key>StartupDiskPersist</key>
          <true/>
     </dict>

Just a thought...

 

It seems like its removal from NVram should be an option if the default action is to force it. The setting seems easy enough to be overwritten or bypassed in the GUI if for some reason a user is unable to boot as a result of making the selected boot disk persistent in the NVram (unless I'm missing something?).

Link to comment
Share on other sites

Slice, that's not what I'm desribing. I'm saying it should NOT delete the OSX pref.pane selection committed to NVRAM.

 

What is the reason for Clover removing it from NVRam, and how do I stop it?

 

The LastBootedVolume doesn't seem to be reliable for some reason in my testing.

Link to comment
Share on other sites

Slice, that's not what I'm desribing. I'm saying it should NOT delete the OSX pref.pane selection committed to NVRAM.

 

What is the reason for Clover removing it from NVRam, and how do I stop it?

 

The LastBootedVolume doesn't seem to be reliable for some reason in my testing.

 

Setting IgnoreNVRAMBoot to False has always worked fine for me.

 

Though I tend to agree, in not being sure why the default is True.

Link to comment
Share on other sites

My apologies, Slice.

 

When i tested LastBootedVolume before using the StartupDisk pref.pane it wasn't working all the time. It would skip over the Macintosh HD if I set the boot volume to LastBootedVolume and then manually selected Macintosh HD as the boot device in Clover, and the restart to verify its operation.

 

Now that I have StartupDisk pref.pane pointing to Macintosh HD, it stays persistent in NVram.

 

Thanks for pointing it out. I couldn't find the entry in the cached Clover Conifguration Wiki, as google cached an old page without that option- so the information wasn't available at the time I posted this thread.

Link to comment
Share on other sites

Yet another option for config? Really it is pretty bloated as of lately. In my opinion there is no need to delete the variable at all and the IgnoreNVRAMBoot option can just not read it. Adding an option to toggle its deletion would really be overkill.

 

Edit: Been writing parallel to the former two. Problem solved obviously.

  • Like 1
Link to comment
Share on other sites

Yet another option for config? Really it is pretty bloated as of lately. In my opinion there is no need to delete the variable at all and the IgnoreNVRAMBoot option can just not read it. Adding an option to toggle its deletion would really be overkill.

 

Edit: Been writing parallel to the former two. Problem solved obviously.

 

Well it may seem bloated, but I didn't know how the LastBootedVolume worked because the config wiki was down. Not sure if it even mentions that the NVRam boot entry is retained if that variable is populated. But it would be nice to state that if it's enabled, and the StartupDisk is selected in the pref.pane, that the NVram entry will stick.

 

Thats all I really wanted it to do!

Link to comment
Share on other sites

  • 1 month later...

Hey. I need help with LastBootedVolume.

Firstly i did: sudo nvram -c

I tried: 

<key>IgnoreNVRAMBoot</key>
<true/>

also

<key>PersistentNVRAMBoot</key>
<true/>
<key>StartupDiskPersist</key>
<true/>

and no success so i deleted those 3 commands from my config.plist

Now i did preboot dump and i see this: 

3:833  0:000  GetEfiBootDeviceFromNvram: efi-boot-device-data not found
3:833  0:000  EfiBootVolume not found
3:833  0:000  Default boot entry not found

What should I do next?
I am using SSD with dual-boot OS X (El Capitan) and Windows (10)

Link to comment
Share on other sites

I set ignore to false so it won't ignore. Anyways i think it won't work, I'm just having boot to specific partition

IgnoreNVRAMBoot=False will accomplish what you seek. I use it, it works.

 

If it isn't working, maybe you've other problems w/ NVRAM settings not being written/saved properly.

  • Like 1
Link to comment
Share on other sites

 Share

×
×
  • Create New...