Substitution for grub-customizer

On uefi “efibootmgr” in a terminal

1 Like
efibootmgr
Timeout: 1 seconds
BootOrder: 0000,0004,0007,000D,000C,0008,0002,0009,0005,0006,0003,000B,0001
Boot0000* Arch
Boot0001* ubuntu
Boot0002* debian
Boot0003* grub_uefi
Boot0004* Manjaro
Boot0005* HefftorLinux
Boot0006* ArcoLinux
Boot0007* Windows Boot Manager
Boot0008* rEFInd Boot Manager
Boot0009* UOS
Boot000B* Fedora
Boot000C* Fedora
Boot000D* UEFI: CT500MX500SSD1

As far as i know the best softwares are the following : mousepad, gedit, vim…

4 Likes

efibootmgr just orders/reorders the priority of the various grub bootloaders of all the distros on your machine. Once you decide which distro’s grub should be booted first over the other distros’ grub, how you customise that chosen grub is a different issue.

For me I make custom entries in /boot/grub/custom.cfg so I can decide on the order of menu entries.

For things like grub background, timeout, etc, you need to edit /etc/default/grub

1 Like

my own custom grub is the last thing I want !! :sweat_smile: :sweat_smile:

There should be no need to change order of GRUB entries
Manjaro GRUB does not function like other distributions that default to the first menuentry
If a user chooses another menuentry, GRUB will save the user choice and continue to boot from that menuentry

If you want to change boot options in GRUB see this previous discussion for how to modify /etc/default/grub configuration – Help setting default grub entry

1 Like

We discussed this many times. Some folks want Windows as the default for family members etc.

So you can choose the option to fix the main entry, remember the last boot.

The easiest way to do this (GUI) is to hit Alt_Space to pull up krunner.
type kate /etc/default/grub
(or select and copy the text, hit Alt_Space then Ctrl_V)

There are instructions in the file…
So you can set the ‘SAVEDEFAULT=false’ to stop the grub remembering what you last booted.
Then you change the number on GRUB_DEFAULT

When you’re done you must run grub-update too.

1 Like

No I am not looking for default entry, I am looking for ways to change the position of the different options in grub. Not necessary but I like all the oses one after another and then all the other entries
Like currently it is:
Manjaro
Adv opts for Manjaro
Windows

How can I make it look like:
Manjaro
Windows
Adv opts for Manjaro

grub-customizer would change files in folder /etc/grub.d/ to change the order of menuentry items
But changes made by grub-customizer could cause GRUB to fail when system is next updated

If you want to change the menuentry boot order by modifying the file order in /etc/grub.d/
I suggest you make a backup copy of the files and be aware of how to fix GRUB if changes do not work out
GRUB/Restore the GRUB Bootloader - Manjaro

2 Likes

You move entries (select and drag them to order them).

menuentry "Manjaro Linux" {
	set root=(hd0,2)
	linux /boot/vmlinuz (add other options here as required)
	initrd /boot/initrd.img (if the other kernel uses/needs one)
}

So move the “Manjaro” menuentry to the top, then “Windows”

1 Like

Thnx everybody… :heart_eyes: :smiley:

1 Like
[robin0800@robins-desktop ~]$ efibootmgr -h
efibootmgr version 17
usage: efibootmgr [options]
	-a | --active         sets bootnum active
	-A | --inactive       sets bootnum inactive
	-b | --bootnum XXXX   modify BootXXXX (hex)
	-B | --delete-bootnum delete bootnum
	-c | --create         create new variable bootnum and add to bootorder
	-C | --create-only	create new variable bootnum and do not add to bootorder
	-D | --remove-dups	remove duplicate values from BootOrder
	-d | --disk disk       (defaults to /dev/sda) containing loader
	-r | --driver         Operate on Driver variables, not Boot Variables.
	-e | --edd [1|3|-1]   force EDD 1.0 or 3.0 creation variables, or guess
	-E | --device num      EDD 1.0 device number (defaults to 0x80)
	-g | --gpt            force disk with invalid PMBR to be treated as GPT
	-i | --iface name     create a netboot entry for the named interface
	-l | --loader name     (defaults to "\EFI\arch\grub.efi")
	-L | --label label     Boot manager display label (defaults to "Linux")
	-m | --mirror-below-4G t|f mirror memory below 4GB
	-M | --mirror-above-4G X percentage memory to mirror above 4GB
	-n | --bootnext XXXX   set BootNext to XXXX (hex)
	-N | --delete-bootnext delete BootNext
	-o | --bootorder XXXX,YYYY,ZZZZ,...     explicitly set BootOrder (hex)
	-O | --delete-bootorder delete BootOrder
	-p | --part part        partition containing loader (defaults to 1 on partitioned devices)
	-q | --quiet            be quiet
	-t | --timeout seconds  set boot manager timeout waiting for user input.
	-T | --delete-timeout   delete Timeout.
	-u | --unicode | --UCS-2  handle extra args as UCS-2 (default is ASCII)
	-v | --verbose          print additional information
	-V | --version          return version and exit
	-w | --write-signature  write unique sig to MBR if needed
	-y | --sysprep          Operate on SysPrep variables, not Boot Variables.
	-@ | --append-binary-args file  append extra args from file (use "-" for stdin)
	-h | --help             show help/usage
[robin0800@robins-desktop ~]$

Nope.

efibootmgr will change this boot order in the BIOS, not in GRUB.

2 Likes

I know it works but what it changes I do not know, if it changes the bios how does grub catch up?

That’s it, it doesn’t affect GRUB. It affects the boot order for EFI, the BIOS, and NOT GRUB.

For uefi systems, each distro’s bootloader (usually grub), if installed, gets installed in that ESP partition. So all it is, is a collection of each distro’s grubs.

Efibootmgr just helps you select which distro’s grub you want to control the booting of your whole machine. Once you have selected the controlling grub, you need to know how to tweak it, so get familiar with editing that distro’s /etc/default/grub file.

After update-grub the grub.cfg resets and I have to do the steps each time grub updates itself. Is there a permanent way?

Probably not as the file you modify is generated on each update. You could maybe craft a pacman hook specifically to modify this file, but that’s kinda risky if your hook doesn’t work properly.

I have saved my modified part as a backup on a 2nd ssd, when grub updates(doesn’t update frequently) I will just paste my saved portion of the grub.cfg to the new grub.cfg.

1 Like

You shouldn’t edit grub.cfg.
You need to follow instructions a little more carefully - either that or just leave it alone because it’s working ok at the moment.

kate /etc/default/grub
and don’t forget to sudo update-grub.

What is the output of:
grep "^menuentry" /boot/grub/grub.cfg | cut -d "'" -f2