12

I've read the forum but it seems my grub boot menu doesn't follow the form of the config file.

I would like the menu to not appear unless Shift is pressed.

My grub menu appears every boot and stays there until you select a menu item.

My current /etc/default/grub is:

GRUB_DEFAULT=0
GRUB_HIDDEN_TIMEOUT=3
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT=0
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nomdmonddf nomdmonisw"
GRUB_CMDLINE_LINUX=""
GRUB_FORCE_HIDDEN_MENU="true"
export GRUB_FORCE_HIDDEN_MENU

(I've tried the true's with both quotes and no quotes, it makes no difference)

I've also done update-grub and update-grub2.

Can anyone please tell me why, when my system boots, it just sits at a Grub menu? It's a headless system which isn't good as I have to add a keyboard to get it to reboot.

This is not a dual-boot system.

3
  • OK there's a bigger problem here. After some digging, it seems that the update-grub works and creates the grub.cfg file, however grub2 is not loading it when the machine boots. How do I find out what grub is actually loading?
    – wkdmarty
    Commented Jul 24, 2014 at 14:59
  • I know the last two lines for the config can be used with Arch Linux, but personally I'm not sure if Ubuntu uses them.
    – Jeight
    Commented Jul 24, 2014 at 17:54
  • Just because I found it difficult to find, and immensely helpful, here's the documentation: gnu.org/software/grub/manual/html_node/… Commented Apr 14, 2015 at 13:22

4 Answers 4

3

My answer from AskUbuntu:

You need to use the GRUB holdshift script.

If you read the GRUB man carefully you will notice that what you want is not achievable via standard settings.

Just download the script here GRUB holdshift and follow the instructions in the readme.

1

Around the time this question was asked, Debian started to ship an Ubuntu patch for "quick boot".

https://salsa.debian.org/grub-team/grub/-/blob/master/debian/patches/quick-boot.patch

I also know Manjaro and Fedora (where it's called auto-hide) followed along.

0

Modify the following lines in the file /etc/default/grub :

GRUB_HIDDEN_TIMEOUT=0.0

GRUB_TIMEOUT=0.0

Finally run update-grub.

0

Check the /boot/grub/grub.cfg file to see if the changes are being passed when running sudo update-grub. The sudo update-grub command is suppose to update /boot/grub/grub.cfg from /etc/default/grub and /etc/grub.d when ran. If it is not then you can temporarily edit /boot/grub/grub.cfg to make it work, but it might be overwritten when the kernel is upgraded or update-grub is run again.

If you check /boot/grub/grub.cfg and the changes have been applied and it's still not working, the problem is probably the setting, but as I see them now they look correct.

4
  • Sorry...I didn't see your comment until after I wrote this answer.
    – Jeight
    Commented Jul 24, 2014 at 17:47
  • I've found the issue, although I still don't know how to fix it. Do you think I should put this into a new thread?
    – wkdmarty
    Commented Jul 25, 2014 at 9:44
  • Basically, I have an HP N40L microserver, with 2 identical drives, I use the system to hardware raid them as a mirror. I then installed mint on the system about a year ago. This has been running perfectly, updating, etc. until I upgraded to Mint 17. I thought everything was fine, but I've noticed that mint is only using 1 of the drives to boot, then for some reason was showing the contents of the other drive.
    – wkdmarty
    Commented Jul 25, 2014 at 9:49
  • i.e. it boots sdb1, but "df" shows sda1. I'm SURE df used to show a /dev/mapper/<blahblah> drive which was the raid array. Thus any updates to grub go to sda1, but it boots sdb1 then loads the fs sda1.
    – wkdmarty
    Commented Jul 25, 2014 at 9:50

You must log in to answer this question.

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