34

I have Ubuntu and Windows 7 installed and dual booting via Grub2.

99/100 times I will boot into Ubuntu.

I want to speed up my time for booting into Ubuntu and really the Grub2 prompt is the part that adds the most time.

So, I want to disable the prompt.

I would prefer to be able to set it up so I can hold shift or similar at boot if I wish to show it.

But I don't mind editing a config file or similar in Ubuntu to show it again if need be.

So how can I do this?


My /etc/default/grub file:

# If you change this file, run 'update-grub' afterwards to update
# /boot/grub/grub.cfg.
# For full documentation of the options in this file, see:
#   info -f grub -n 'Simple configuration'

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

# Uncomment to enable BadRAM filtering, modify to suit your needs
# This works with Linux (no patch required) and with any kernel that obtains
# the memory map information from GRUB (GNU Mach, kernel of FreeBSD ...)
#GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef"

# Uncomment to disable graphical terminal (grub-pc only)
#GRUB_TERMINAL=console

# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo'
#GRUB_GFXMODE=640x480

# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
#GRUB_DISABLE_LINUX_UUID=true

# Uncomment to disable generation of recovery mode menu entries
#GRUB_DISABLE_RECOVERY="true"

# Uncomment to get a beep at grub start
#GRUB_INIT_TUNE="480 440 1"
Hailwood
  • 4,957

1 Answers1

49

Edit /etc/default/grub to contain

GRUB_HIDDEN_TIMEOUT=0
GRUB_TIMEOUT=0

Leave other settings alone. If you want to allow 1 second to press Shift (some computers leave you very little time between the keyboard initialization and the OS boot), make this

GRUB_HIDDEN_TIMEOUT=1
GRUB_HIDDEN_TIMEOUT_QUIET=false
GRUB_TIMEOUT=0

or if you prefer to see the menu for 1 second:

GRUB_HIDDEN_TIMEOUT=
GRUB_TIMEOUT=1

If you almost always boot into Linux, you may prefer to skip the boot menu altogether (first option in this answer, and don't bother with the Shift key), and instead, when you want to boot Windows, boot Linux and run the following command to say that the next reboot (and only the next reboot) will default to Windows:

grub-reboot Windows

You will need to change /etc/default/grub:

GRUB_DEFAULT=saved
GRUB_SAVEDEFAULT=

Run grub-set-default 0 to ensure you boot into Ubuntu by default.

See Grub2 Setup in the Ubuntu community documentation for more information.

When you're done, run sudo update-grub to save your changes.

qwr
  • 2,802
  • On ubuntu-server on VirtualBox, the only downside to taking these steps was that I now had to login every time I booted the server, where prior to making this change I was able to skip straight to a prompt (after waiting for grub). All in all, I lost time rather than gained it on boot. I assume making this change overwrites something the VirtualBox or default ubuntu-server install provide. – Chris Moschini Mar 20 '14 at 08:07
  • @ChrisMoschini This change has nothing to do with any form of autologin. Autologin is purely a Linux feature, unrelated to VirtualBox or Ubuntu. (And why would you have dual boot in a VM?) – Gilles 'SO- stop being evil' Mar 20 '14 at 10:46
  • It's just the default config for ubuntu-server on VirtualBox - it throws grub on which then spends time each boot asking you if the only OS on the VM is the one you want. – Chris Moschini Mar 20 '14 at 10:57
  • Is there a way to boot in failsafe (rescue) mode after making these changes (skipping the grub prompt altogether)? Say my session won't open or the os doesn't boot properly; is there a way to reboot in failsafe mode? – Clément Jan 01 '16 at 14:21
  • @Clément grub-set-default 1 (assuming that the rescue boot is the second entry in the file, check in /etc/grub/grub.cfg, numering starts at 0) – Gilles 'SO- stop being evil' Jan 01 '16 at 16:09
  • 1
    @Gilles Where would you run that from, if the system doesn't boot? – Clément Jan 01 '16 at 17:32
  • @Clément From wherever you've been making these changes. Presumably you booted from rescue media and chrooted into the system. – Gilles 'SO- stop being evil' Jan 01 '16 at 17:52
  • No, that's not what I did. I didn't make any changes, in fact. Only before making the changes recommended by this post, I wanted to make sure that it wouldn't break access to rescue mode, which grub normally provides. – Clément Jan 01 '16 at 19:28
  • So IIUC, it's pretty risky to make these changes: if you do and you have unrelated issues later, you need a rescue media to recover. Is that correct? – Clément Jan 01 '16 at 19:29
  • @Clément In your first comment, you wrote “after making these changes”… I don't understand what risk you're worried about. I don't describe any change to the way to access rescue mode in this answer. If you want to access rescue mode after making the change I describe in this answer, you can still do it (assuming you have physical access of course), you just have to press Shift at the right time during boot. – Gilles 'SO- stop being evil' Jan 01 '16 at 20:05
  • @Gilles: Sorry for the long excahnge: I may misunderstand your answer, but IIUC, using the first set of settings that you suggested leaves almost no time to press the Shift key and access the grub menu. Is that correct? If so, then I would be concerned to apply these changes, because with these changes I would have no easy way to boot to rescue mode if the OS was broken. – Clément Jan 01 '16 at 21:29
  • @Clément Yes, it makes the time to press Shift short, but it's still possible. – Gilles 'SO- stop being evil' Jan 01 '16 at 21:55
  • 3
    This has no effect on my Ubuntu 20.04. Is this answer still current? – Torsten Bronger Jul 22 '20 at 21:54
  • 3
    @TorstenBronger Since 19.10, it appears that you need GRUB_TIMEOUT_STYLE=hidden instead of GRUB_HIDDEN_TIMEOUT=0. I think the rest of the answer still applies. But I don't have a recent version around to check at the moment. – Gilles 'SO- stop being evil' Jul 22 '20 at 22:55
  • @TorstenBronger refer to this link - https://ubuntuhandbook.org/index.php/2020/06/hide-grub-boot-menu-ubuntu-20-04-lts/ – Aman Sharma Jun 09 '21 at 18:30