How to hide "advanced options" in Grub menu?

Hello,

I did not install grub-customizer because it is not compatible with grub now. :frowning:

I want to edit grub to hide the entry “advanced options …” in Grub menu, but how?

I look forward to your help. :slight_smile:

Have a look into this:

https://wiki.archlinux.org/index.php/GRUB#Generate_the_main_configuration_file

You need to create scripts to be located in /etc/grub.d/

I think that the idea behind removing grub-customizer is to avoid the problems it creates. If users start messing with the scripts without proper understanding what they are doing is going to be worse than grub-customizer.

My opinion is that, of course users can make changes to grub scripts, but under their own responsibility. I don’t think it’s a recommended approach.

Even simpler … just add

GRUB_DISABLE_SUBMENU=y

to /etc/default/grub and run the regular

sudo update-grub

@cfinnberg, you are right, but I think we should not hide information.

Does it hides the submenu with its content or does it moves the entries to the main menu?

Yes, of course. But I think that besides the information a warning should be also in place :slight_smile:

removes the ‘submenu’ template so everything is in the single ‘front’ menu.

Ok. Not sure, but I think the OP wants to hide it completely. But let’s wait their answer…

cant possibly be worse.

But even if we take an example of say … both are loaded weapons being handed to a toddler.

Its at least safer to not hand them the one that seems to go off randomly if you touch it funny over the one that performs as expected.

Of course, more basically, the main thing is that only people trained in the safe operation of those firearms should be handling them at all.

Yeah, not sure. But probably pointless discussing what option is worse… :smiley:

But It shows two entries of Manjaro in Grub menu that looks a bit awkward.

I edited myself and solved the issue. :slight_smile:

I added many comments “#” in /etc/grub.d/10_linux.

Before:

  if ...

    # TRANSLATORS: %s is replaced with an OS name
    echo "submenu '$(gettext_printf "Advanced options for %s" "${OS}" | grub_quote)' \$menuentry_id_option 'gnulinux-advanced-$boot_device_id' {"
   is_top_level=false
  fi

  linux_entry "${OS}" "${version}" advanced \
              "  ${GRUB_CMDLINE_LINUX_DEFAULT}"

  for i in "${initramfs_manjaro}-fallback.img" "initramfs-${version}-fallback.img" ; do
    if test -e "${dirname}/${i}" ; then
      initrd="${i}"
      gettext_printf "Found initrd fallback image: %s\n" "${dirname}/${initrd}" >&2
      linux_entry "${OS}" "${version}" fallback \
                  "${GRUB_CMDLINE_LINUX} ${GRUB_CMDLINE_LINUX_DEFAULT}"
      break
    fi
  done

After:

  if ...

    # TRANSLATORS: %s is replaced with an OS name
   # echo "submenu '$(gettext_printf "Advanced options for %s" "${OS}" | grub_quote)' \$menuentry_id_option 'gnulinux-advanced-$boot_device_id' {"
   #is_top_level=false
  fi

 # linux_entry "${OS}" "${version}" advanced \
  #            "  ${GRUB_CMDLINE_LINUX_DEFAULT}"

 # for i in "${initramfs_manjaro}-fallback.img" "initramfs-${version}-fallback.img" ; do
  #  if test -e "${dirname}/${i}" ; then
    #  initrd="${i}"
    #  gettext_printf "Found initrd fallback image: %s\n" "${dirname}/${initrd}" >&2
    #  linux_entry "${OS}" "${version}" fallback \
    #              "${GRUB_CMDLINE_LINUX} ${GRUB_CMDLINE_LINUX_DEFAULT}"
    #  break
   # fi
 # done

then sudo update-grub

done.

This topic was automatically closed 15 days after the last reply. New replies are no longer allowed.