Contribute
Register

[GUIDE] Remove extra Clover BIOS boot entries & prevent further problems

Status
Not open for further replies.
Joined
Apr 5, 2012
Messages
119
Motherboard
MSI Z270 Gaming Pro Carbon
CPU
i5-7600
Graphics
RX 570
Mobile Phone
  1. Android
Clover is a great boot loader, and tonymacx86 has developed some great tools to get you up and running. However, some people are still having problems. I think a lot of this has to do with the design of the systems. Many have extra backup internal hard drives or partitions with legacy boot loaders or previous Clover systems. While this may have been fine in the past, with Clover and the newer OS X's, this does not work on many motherboards.

Often it happens that Clover and El Capitan (or Yosemite) will install and seem to work fine, but then degenerate to an unusable state. I chased this problem for quite a while before I found the solution (see Source #1 below).

Look at the boot options list in your BIOS. If you see entries that are not physical drives, it is likely that you are encountering some form of this problem.

First, remove all of the extra boot entries.

0. You COULD try to reflash the BIOS and you MAY be done. This worked on my 6 series board, but not on my current 9 series. If it works for you, skip to the second section on preventing the problem from happening again. If this does not work, or if you really don't want to have to flash the BIOS, then continue.

1. Disconnect all drives except one with only one instance of Clover. If you only have a partitioned drive with ANY backups on the partitions, it is probably best to boot with only the Clover Install USB stick and no other drives attached.

2. Boot your system and press the right arrow key when the Clover boot loader appears.

2b. If you cannot get to Clover, reset your CMOS and try again, this time going into the BIOS and selecting your physical drive for boot override. DO NOT touch any other entries at this point as it may lock the BIOS and you will need to reset the CMOS and start over again. It SHOULD work, so keep trying – I don't know another way.


3. Use the right and left arrow keys to select the Clover UEFI Shell and hit enter. The following screen should appear, and either let it time out, or press a key:


Shell1.jpg


4. At the Shell> prompt type
Code:
bcfg boot dump
the results should look something like this:


Shell2.jpg


5. You need to remove any entry that is not a physical hard drive. As far as I know, if it is a real physical disk, it will list as DevPath - HD.

Shell3.jpg


The code to remove an entry looks like this:
Code:
bcfg boot rm XX
where XX is the Option number. In this example, I remove Option 02 with
Code:
bcfg boot rm 02
.

Shell4.jpg


If you have a LOT of bogus entries, it is best to do just a few, and then type the command
Code:
bcfg boot dump
again before repeating the process. When I first did this on my ASUS H97 board, I had at least 10 entries to clear so it took several iterations of this process.

6. When your have removed all entries that are not physical hard drives, type
Code:
exit
and press the return key. This will get you back to the main Clover screen. At this point, I would choose restart from the Clover choices and enter the BIOS to check if your work was successful.




Second, rethink your system design and backup scheme to prevent this from happening again.

• Design your system so that there is only one disk (an SSD if you like speed) that has an EFI partition that contains the Clover boot loader. Of course in OS X, all (I think) formatted drives will have an EFI partition, but you do not want two EFI partitions that contain ANY boot loader – that includes Clover, Chameleon, Chimera or whatever.

• On some boards, it may help to set the boot options for all devices to UEFI Only (didn't make a difference on my board, but did speed up boot time).

• Currently, I have a 250 GB M.2 SSD as my boot disk, and the others are just for data. For backups I use EXTERNAL DISKS, so that I don't reencounter the same problems. The external drives are connected only when I need to backup. [I am working on a GUIDE for Clonezilla.] External USB 2.0 or USB 3.0 drive enclosures are quite reasonably priced at the moment, so I encourage you to do this as well. I think you could use Time Machine for data backup, but I have no experience with this.​

• Currently I am only running Mac OS X 10.11 El Capitan. It would be great to hear about successful system designs in the same way I am discussing here from others who are also running Windows, Linux or other versions of Mac OS X​



Source #1 - Thanks to trioset on InsanelyMac
 
This is definitely a repeatable problem. In response to a question elsewhere, I reconnected my Samsung SSD to sata1. The Samsung M.2 drive was still installed at sata5. Both drives are nearly identical, and clones of each other with bootable clover and El Capitan. None of the other drives had boot loaders installed. [Note that the UEFI FAT is an 8GB USB stick that is blank and formatted to FAT32 MBR (MS-DOS) and was used to capture the screen images. It is definitely not a boot drive (NOTHING on it), but my confused BIOS seems to think it is.] After a few restarts, by BIOS looked like this:

BIOS-2.png


I removed the Samsung SSD, and since I am not using it, I also removed the 2TB drive (this drive was completely blank, but it's big and noisy and I don't need it). The BIOS then changed to this:

BIOS-3.png

I went to work, after the first attempt to remove the extra entries in the BIOS (UEFI 238475MB is NOT a real hard disk), here was the result:

BIOS-4.png

Since my M.2 drive was not showing at all, I removed everything using the method described above, rebooted, and here was the result:

BIOS-5.png


Now my computer is happy and stable again!
 
Wow. Thank you so much. This was exactly the solution for my boot problems. It was so weird. I noticed the many UEFI entries in the BIOS Boot Menu and came by a google search to your post and now everything is stable. Thank you!!!
 
I'll just add that after you change the bcfg boot entries, make sure you go into your UEFI BIOS settings and do a "save configuration". I didn't do that at first, and my Mac partition wouldn't boot after I removed a few bcfg entries. My guess is that the BIOS settings tell it to boot from a specific bcfg boot option, and if that option has moved or is no longer present, it might not boot correctly.
 
Should I be worried?

I'm using this setup for over a year:
1x SSD 120gb El Capitan with Clover as bootloader (upgraded from Yosemite)
1x SSD 256gb Windows 10
1x HD 500gb two partitions (One with files in NTFS format and the other is a Mavericks install with Chameleon as bootloader - for emergency/recovery only).

Default boot priority on bios is set to Windows 10, to select another drive I just use the F12 button to list the boot devices when I turn the system on. All the OS's were installed with only one disk connected at the time.
 
Thank you Anachronaut :)

I definitely think you are on to something here. The bogus entries littered my bios boot selection screen until I reflashed my bios. Another one appeared shortly after though and boot freezes occurred.

Yes I boot to an SSD and have an internal data drive with two partitions - 1 for hfs and one exFAT. Clover doesn't like me ! LOL!

I think you have probably identified the problem.

:)
 
Thank you so much. This thing was driving me crazy.
I have 2 SSDs, one has windows and other osx with clover bootloader. I installed OSX elcapitan after the windows. It may be the reason why I am having problems. Is there a way to fix this permanently? thanks

edit: Figured out an easier way to do this
use the easyuefi within the windows and delete all unnecessary boot options. Use the third button from the top on the middle.

http://www.easyuefi.com/index-us.html



http://www.insanelymac.com/forum/to...osh-builds-uefi-dualboot-os-x-el-capitan-wip/

Thanks to ghostraider, where I found this tool.
 

Attachments

  • 1.jpg
    1.jpg
    61.4 KB · Views: 8,432
It's unfortunate there isn't a GUI right inside Clover itself that lets us instruct Clover to not add this stuff automatically.

If I'm understanding this right-- I've since read a huge thing on UEFI-- what this means is that we should really have only a single drive with bootloaders in the EFI partition of that drive. Other drives with bootloaders installed results in the issue.

That's unfortunate, because it means if that one drive-- or its EFI partition-- gets hosed, whether by natural causes, or by tinkering with the EFI/Clover itself... we have to go through the whole process again to save things potentially. One of the things I liked about how Chimera/BIOS boot worked was that I could have as many drives as I wanted, with as many bootloaders as I wanted, in my machine (currently: primary SSD, secondary/backup SSD, 1TB partitioned with 1x OSX and 1x windows as further backup/options)... and should one of those drives fail, or I screw something up with a new install or by updating chimera/kexts/options, I can always just use a different drive to get into my data.

OK, so question: Does this Clover behavior apply when Clover is installed for legacy systems as well, like X58? And if so, will the windows UEFI software let me remove ghost entries... or not since I don't actually have UEFI firmware on X58.

This definitely complicates things right when I was getting a sense of how Clover worked!
 
edit: Figured out an easier way to do this
use the easyuefi within the windows and delete all unnecessary boot options. Use the third button from the top on the middle.

http://www.easyuefi.com/index-us.html
Thanks to ghostraider, where I found this tool.

Thank you for this tip! Since my Asrock firmware is *really* uncooperative nowadays (my Clover Shell doesn't want to take keyboard input reliably) EasyUEFI made the process much simpler. My next step would have been to use efibootmgr but now I don't have to. Excellent!
 
Status
Not open for further replies.
Back
Top