Can't change default boot entry

Changing "boot to:" in "Garuda Boot Options" doesn't save, it always boots to zen

1 Like

Is this a bug report about Garuda Boot Options or a request for help setting the default boot item?

Both, the default setting doesn't work and I want to set the default item

Setting a default kernel does not currently work properly with grub and btrfs.

What you can do instead is enable the last booted kernel to be used. This is not perfect but it is an adequate workaround to setting a permanent default kernel. To get this working is a bit of a pain, but unless you follow this procedure you will not be able to alter the kernel which is normally booted.

Before editing important root configuration files be sure to make a backup first. Backup /etc/default/grub before editing grub's configuration fie:

sudo cp /etc/default/grub /etc/default/grub.bak

In the file /etc/default/grub change GRUB_DEFAULT="0" to GRUB_DEFAULT="2" as below:

GRUB_DEFAULT="2"

Comment out GRUB_SAVEDEFAULT="false" or GRUB_SAVEDEFAULT="true" as below:

#GRUB_SAVEDEFAULT="true" 

Then run:

sudo update-grub

Then reboot into the kernel you wish to use normally.

Then remove all the kernels you don't want to boot into normally with the command below:

sudo mhwd-kernel -r linux-zen

Substitute whichever other kernels you want to remove instead of linux-zen into the command above.

Remove all the kernels you don't want to boot normally, leaving only the kernel you want to boot into on a regular basis, (such as linux-lts, or another)

Then reboot, and then reinstall the other kernels youd like to have as extras using mhwd with the command below:

sudo mhwd-kernel -i linux-zen

Substitute whichever other kernels you want to install instead of linux-zen into the command above and repeat for each spare kernel you wish installed.

To make this work you must delete all kernels except the one you want to boot into, then restart. After that you can add the extra kernels you wish and your originally installed kernel should continue to boot every time now.

6 Likes

You may read exactly how Grub Manual suggests Grub_default usage

‘GRUB_DEFAULT’

The default menu entry. This may be a number, in which case it identifies the Nth entry in the generated menu counted from zero, or the title of a menu entry, or the special string ‘saved’. Using the id may be useful if you want to set a menu entry as the default even though there may be a variable number of entries before it.

For example, if you have:

menuentry 'Example GNU/Linux distribution' --class gnu-linux --id example-gnu-linux { ... }

then you can make this the default using:

GRUB_DEFAULT=example-gnu-linux

Previously it was documented the way to use entry title. While this still works it’s not recommended since titles often contain unstable device names and may be translated

If you set this to ‘saved’, then the default menu entry will be that saved by ‘GRUB_SAVEDEFAULT’ or grub-set-default. This relies on the environment block, which may not be available in all situations (see Environment block).
The default is ‘0’.


Currently the saved value is not usable, because of btrfs.

2 Likes

'GRUB_DEFAULT' is the number entry in the menu selection. For example, above you originally had me use "2" which defaulted to the menu option for Snapper/restores/backups. I switched it to "1" and updated grub, then it defaulted to the "advanced" menu options, which is kind of what I want, except....

I followed your instructions using

sudo mhwd-kernel -r linux-zen

To remove all the kernels except the one I wanted, rebooted, etc.

Adding back the 'linux-lts' for backup using;

sudo mhwd-kernel -i linux-lts

...did not work. After prompting me for my root password, it would just freeze. I even rebooted, thinking something is stuck preventing this. Nope. I ended up just using;

sudo pacman -S linux-lts

Which in the end, after a reboot, defaulted the to the wrong (linux-lts) kernel.

I will read through the rest of your posts now.

So where do you get the "ID" to use?

for completion :slight_smile: its like i mentioned here:

its in the menuentry line of the generated /boot/grub/grub.cfg

1 Like