Jump to content

[Solved] Clover cannot auto boot an Operating System


X-0v3r
 Share

1 post in this topic

Recommended Posts

[ORIGINAL POST]

It seems that "DefaultLoader" do have a hard time looking for a specified .efi file.
Clover's log and last line says "Default boot entry not found" (but doesn't tells me which file it tried to load to confirm), despite being 100% positively sure that the path is correct and working since I can boot it from Clover UEFI emulation's (DUET) "Boot from file" option.

My config.list is just the stock one, minus the only thing that was changed which was the "DefaultLoader" key set to "\EFI\BOOT\grubx64.efi".

Something is clearly is missing, but from what I've read, things should have simply worked like the "DefaultVolume" key (which in fact only targets \EFI\BOOT\BOOTX64.efi by default) that I did successfully fiddled with by setting the right partition GUID.

So, is there anything else I need to do so I can auto boot an entry ?



On the other hand, Clover didn't automatically detect my Linux installation (did it in UEFI mode). I still don't know why, but if it did, I wouldn't even need to edit the "config.plist" file to automatically have the Linux booted, which would also solve my issue.
 

I'm using Clover revision 3811 since it's the last downloadable one that can even works on a 32 bit UEFI.
I installed it on the same and only drive that I intend to use, so no Clover USB key.
I used this tutorial to install it, which seamlessly worked: https://wiki.archlinux.org/title/Clover#BIOS_Systems

For now, I'm using the x64 version of Clover 3811 on a VIrtualBox virtual machine (set to use BIOS, not UEFI) to learn things first.

config.plist

[ANSWER]

I can't believe this wasn't said anywhere in the documentations, tutorials, guides, on the web, etc nor anyone being able to answer that here. I've lost days on it (That's how you get lots and lots of simple quetions on forums, no wonder: Bad documentions) and in the end, it's "dead simple": All you need is to manually add an entry, Clover doesn't seems to work without that.

0. Preriquisites:


- You need to know how a UEFI boots an OS: It mainly loads the right .efi file which will take care of everything else.
- This small tutorial assumes that you've already managed to install Clover to a drive. A working tutorial can be found there: https://wiki.archlinux.org/title/Clover#BIOS_Systems
- This tutorial also assumes that you've already installed one Operating System through Clover, in UEFI mode (which should be the default one).
- You'll need to edit Clover's \EFI\CLOVER\config.plist file, that's inside the right EFI System Partition.
- This tutoral assumes that you have a stock config.plist file.


0.1. Grab your EFI System Partition's GUID from Clover.

Do note that the aforementioned GUID aren't the same as what most regular partition tool may report.

In Linux however, they're being called a partition's partuuid. You'll mostly find them in "/dev/disk/by-partuuid/" .
One Linux GUI tool that'll help you find those is Gnome Disks ("gnome-disks" or "gnome-disk-utility").
With Gnome Disks, open the software, then select the right drive, the right EFI System Partition (which should be FAT32/VFAT formatted), then click on the partition's options ("the cogs" button), go to "Edit Mount Options...", check the "Identify As" options, then take a look at your "/dev/disk/by-partuuid/LONG-HUGE-GUID" and grab your GUID.

Otherwise, you don't need to use Clover's logs to get that GUID, all you need to do is booting Clover from your target drive then go "Clover Boot Option".
From there you should be able to see something in the likes of "\...\HD(PARTITION-NUMBER,GPT,LONG-HUGE-GUID,SOMETHING,SOMETHING)" at the very end of the path you're seeing, which should match the same drive and partition Clover got installed.

 

As you may have guessed, "LONG-HUGE-GUID" is your EFI System Partition's GUID.

1. You need to add an entry inside your config.plist.

The entry must be inside that part, below the "<array> tag":

    <key>GUI</key>
    <dict>
        <key>Custom</key>
        <dict>
            <key>Entries</key>
            <array>

But, you should also put your entry just before the related </array> tag. Just scroll down inside your config.plist to find it.

Also, the "Custom" key must be enabled. To do that, just remove the "#" that is in front of "Custom".

1.1 How the entry should look like.

For futrue references, do note that this is the smallest configuration for an entry to work:
 

                <dict>
                    <key>Disabled</key>
                    <false/>
                    <key>Ignore</key>
                    <false/>
                    <key>Path</key>
                    <string>\EFI\OPERATING-SYSTEM\EXAMPLE.efi</string>
                    <key>Title</key>
                    <string>YOUR ENTRY NAME</string>
                    <key>Type</key>
                    <string>All</string>
                </dict>


But, in order to prevent any EFI System Partition conflitcts (e.g, when you have more than one drive), just add a "Volume" key and its <string>, which is the "LONG-HUGE-GUID" you've got.
Don't forget to add the "Path", "Volume" and "Title" keys and their matching values.
The whole thing should then looks like this:

    <key>GUI</key>
    <dict>
        <key>Custom</key>
        <dict>
            <key>Entries</key>
            <array>
                <dict>
                    <key>Disabled</key>
                    <false/>
                    <key>Ignore</key>
                    <false/>
                    <key>Path</key>
                    <string>\EFI\OPERATING-SYSTEM\EXAMPLE.efi</string>
                    <key>Volume</key>
                    <string>LONG-HUGE-GUID</string>
                    <key>Title</key>
                    <string>YOUR ENTRY NAME</string>
                    <key>Type</key>
                    <string>All</string>
                </dict>
            </array>

Remember. you should put your entry just before the </array> tag.

2. Now, all you need to do is to changing the "DefaultLoader" and "DefaultVolume" keys.

Find these keys (ctrl +f from your text editor), then edit them.
Both should look like this:

		<key>DefaultLoader</key>
		<string>\EFI\OPERATING_SYSTEM\EXAMPLE.efi</string>
		<key>DefaultVolume</key>
		<string>LONG-HUGE-GUID</string>


This should also prevent any EFI System Partition conflitcts by the means of the "DefaultVolume" key.

More importantly, for this to work, "DefaultLoader" 's value must match "Path" 's and "DefaultVolume" 's must match "Volume" 's. Very important.

Now save and close everything.


And that's it, you're done !
 

Edited by X-0v3r
  • Like 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
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...