18

Is there an easy way to disable Grub2 new submenu structure? I'd like to have back the old structure (each option as a menuentry) where each kernel is visible and selectable on the fly.

I've already tried this solution, to no avail. And this is the most promising solution I've found until now. I didn't try it (I'll test it tomorrow) but I was wondering if there is a better way.

Thanks for any help.

0

3 Answers 3

20

In the latest Ubuntu (14.04), one can specify:

GRUB_DISABLE_SUBMENU=y

in /etc/default/grub.

Then apply with

sudo update-grub
3
  • 2
    Confirmed (=y) working on Trusty 14.04.1 with 2.02~beta2-9ubuntu1, GRUB_DISABLE_SUBMENU=true does not work! love how consistent config is...
    – Kevin
    Jan 14, 2015 at 22:20
  • 1
    Just tried this parameter and it worked exactly as expected. I noticed you used "=true" instead of "=y". Maybe that's why it is not working for you, as grub's manual states you should use "=y". See "info -f grub -n 'Simple configuration'" for mor information. My environment, for reference: $ uname -a = "Linux ruapehu 3.19.0-51-generic #58~14.04.1-Ubuntu SMP Fri Feb 26 22:02:58 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux"; $ cat /etc/issue = "Ubuntu 14.04.4 LTS \n \l" ` Feb 27, 2016 at 17:23
  • Confirmed (=y) working on 21.04 with grub 2.04-1ubuntu45
    – allanlaal
    Aug 29, 2021 at 7:21
5

Deprecated

The answer below applies to Ubuntu versions older than 14.04

gksu gedit /etc/grub.d/10_linux

At the end of the file:

  if [ "$list" ] && ! $in_submenu; then
    echo "submenu \"Previous Linux versions\" {"
    in_submenu=:
  fi
done

if $in_submenu; then
  echo "}"

add the "#" character in front of some lines to disable (i.e. comment out) their effect, make it look like this (4 lines changed):

  if [ "$list" ] && ! $in_submenu; then
    #echo "submenu \"Previous Linux versions\" {"
    in_submenu=:
  fi
done

#if $in_submenu; then
  #echo "}"
#fi

Then run sudo update-grub to apply the changes.

1
  • 1
    See Nish Aravamudan answer here in this page which is the right one for Trusty (GRUB 2.02)
    – useful
    Jul 26, 2014 at 14:55
3

Well, if you don't mind adding a PPA then yes!

Grub Customizer:

Grub Customizer is a graphical interface to configure the grub2/burg settings.It allows you to edit the GRUB2 menu entries: reorder, rename or add/remove entries.

Installation:

sudo add-apt-repository ppa:danielrichter2007/grub-customizer
sudo apt-get update
sudo apt-get install grub-customizer

How to disable Grub2 submenu?

Once installed, Hit Alt+F2, type grub-customizer and hit Enter.

Select the submenu entries one by one and click on (Up) button in toolbar to move them to main menu. enter image description here

And no more submenu! Save your settings by clicking on save button in toolbar. That's it! enter image description here


To remove Grub Customizer run following commands in terminal

sudo apt-get autoremove --purge grub-customizer
sudo add-apt-repository -r ppa:danielrichter2007/grub-customizer
sudo apt-get update
3
  • Nice, I'll give it a try. However, what I'm really looking for is something that doesn't need to be re-applied at each kernel update (or at least that can be re-applied automatically). Is there a way to "script" Grub Customizer?
    – Avio
    May 30, 2012 at 7:12
  • 1
    I don't think so you'll have to reapply it upon every kernel update, it will automatically create new entries under main menu. Note the two entries in Linux menu (new Entries) and (new Entries of Previous Linux versions). May 30, 2012 at 8:11
  • 1
    No need for a PPA since Trusty/GRUB2.02: see Nish Aravamudan answer here in this page which is the right one since.
    – useful
    Jul 26, 2014 at 14:58

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .