GRUB2 ISO Boot-Menu Design

Hi all,

some might know our old boot menu based on SUSEs GFXBoot:

Beginning with Manjaro release v17.0.1 we adopted to Grub2 as bootloader also for our ISO. So our current menu looks like this:

The benefits are:

  • we have now the same menu for BIOS and UEFI
  • we added similar options as we had with our GFXBoot-Menu in the past for BIOS only
  • it kinda works

The downers are:

  • it looks odd at first sight
  • it looks a little to complicated for some of you
  • it might not work on some old hardware

Therefore we have a task for it on our release plan to solve it. So please fork our current theme or create mokups on how it should look like. This might help to improve your and everyone else experience with Manjaro on boot-up.


Same menu for uefi and bios-legacy, but just to add...
The picture above shows it is booted in bios-legacy, with

INSTALLED BIOS-system on hd0,msdos1

If booted up in UEFI, it should show

Detect EFI Bootloaders

Screen shot here.

Remember, to install as UEFI, install media must be booted in UEFI
to install as bios-legacy, install media must be booted in bios-legacy.

And if using grub2 to boot isofile, a uefi grub2 will boot up install isofile in uefi and a bios-legacy grub2 will boot up install isofile in bios-legacy.

1 Like

I know. The theme is borrowed from Siduction Linux. However we have to find a way to get a more simplified menu with same functions as some of our new users see it as to complicated as it is now.

I've booted from ISO on disk, but didn't get the Grub menu at all, just the boot messages. You?

It boots straight away to the install 'OS' as were all other isofile boots before this version and any other OS isofile boots. No grub menu as shown here, correct. The screen shots is to show others what the iso grub menu looks like if they boot from usb media (which I tested - not from isofile boots).

Oh, to add, we can add options like language and keyboard as in other and older iso versions too; in the linux line.

Hope this clarifies. Cheers.

1 Like

What is more easier structured than simple plain menu entries?
A submenu doesn't really improve anything in my view, it just hides stuff, and people will ask how to set language, because they don't find it.

My view is, we can't make it right for every taste and we can't make it literally idiot proof.

I think the labels need a bit of work.

Why "tz", "keytable" and "lang" instead of "timezone", "keyboard"/"keyboard layout" and "language"? And the entry "driver" also doesn't really describe that it is about the choice between free and non-free graphics drivers. Also it should more clearly write out that it is in Grub or Uefi mode, so that a user sees at first sight, if it has chosen the right mode.

Also the entry to boot into Manjaro should stand out on top, since it is the natural choice for a user that only wants the defaults.

That is indeed true, especially since Manjaro only has a couple of entries either way.

But in a good menu the entries should be sufficiently self-explanatory such that a relatively experienced user coming from a different distro doesn't need to read up on the wiki or the forum to make the right choices. And in the above example, they are clearly not.

Just remember, this menu is the first thing a new Manjaro user will see. Manjaro describes itself as user-friendly and accessible, an overly complicated menu would thereby lead to a bad first impression.

You need to see, that a bootloader is the very first thing that runs if you switch power on.
That means, it is really very low level, and do not epect a gui like you are used on the desktop.
A bootloader is there to do one task only, to initialize the system so the OS can take over after that.

Regarding uefi mode, well, that's up to the box and how it is set up in bios/uefi menu. If the box is in uefi mode, grub will be in uefi mode.
If the box is in mbr mode, grub will be in bios/mbr mode. Grub takes what the box defines to be default mode.




how can i have this new style for GRUB2 when manjaro is installed?

Currently you can't. Its currently just a rough implementation for live media. A derived theme that can be installed and looks similar may come later on.

Extract it out from the isofile under /boot/grub/themes/manjaro-live :laughing:

I used the last ISO to recover my system after the last stable update, and noticed this menu is much slower than the older one (there's a lag when navigating). Is this normal or is it related with my hardware? (Q9650 CPU with 8GB of RAM, 4x333Mhz FSB)

Please, please, don't use this in the next stable release.

-It's slow: lags, keyboard keeps pressed when you mantain one key and is annoying to navigate.

-It's confusing: Boot form usb? boot from stick? boot form hdd? What?

-Where do I put the boot parameter? why I can press 'e'on the entry and also there is an 'edit boot parameter' option? The edit boot section does not alow you to delete characters. I have to add acpi_osi="!Windows 2015" but it's ignored and my computer freezes because nvidia optimus and a spread bug in bios. IT WORKS with the 17.0 image with the old bootloader.

-Why so many steps if you are not english? Asking for your languaje/country should be enough to assume your keyboard layout and everything. No need for 4 menus and submenus. Also it's slow on my uefi laptop (as I said above).

-Burning the image with rufus in iso mode is borken, need to do in dd to be able to boot grub.

I can't use any manjaro live session since this boot-menu was introduced. My computer freezes.

1 Like

You could try booting the ISO file from disk. A currently working configuration for /etc/grub.d/40_custom is

menuentry "Manjaro Gnome ISO" {
    set isofile="/@iso/ISO/manjaro-gnome-17.0.2-pre3-testing-x86_64.iso"
    set archi="x86_64"
    set dri="free"
    search --no-floppy -f --set=root $isofile
    probe -u $root --set=abc
    set idev="/dev/disk/by-uuid/$abc"
    loopback loop $isofile
    probe -l (loop) --set=mlabel
    linux  (loop)/boot/vmlinuz-$archi  img_dev=$idev img_loop=$isofile  isobasedir=manjaro misolabel=MJRO1702 nouveau.modeset=0 i915.modeset=0 radeon.modeset=1 logo.nologo driver=$dri
    initrd  (loop)/boot/initramfs-$archi.img

Adjust as necessary (drivers, intel_ucode.img), then run sudo update-grub.

1 Like

We already use and won't change it. However, its gonna be improved.

Thanks, never thought on booting the iso form disk before.

But Philm answered me in another thread, the boot parameters go in the kernel line below. I was typing the commands inside the first section (where all the language, nouveau i915.modeset, etc. things are) and therefore ignored and my optimus laptop freezed.

By entering the boot parameter acpi_osi="!Windows 2015" in the line which starts with linux in the Grub code I gave you, you can rule out or confirm that the issue is related with the new ISO configuration. See here for additional iformation about booting an ISO from disk:

Ever since this was released, I haven't been able to boot the live cd on my system. I get nothing more then a blank screen with a blinking cursor. I have to use older ISOs and update my system post install. Grub 2 works on my hardware. But whatever has been done to grub 2 on the live CD has broken it for me. Any thoughts?

You could try bypassing the grub menu by installing grub on a USB stick, copying iso there and adding a entry to boot the iso directly. Follow the instructions here:

Forum kindly sponsored by