Change GRUB timeout on Fedora 20 with UEFI

After migration to Fedora 20 with UEFI (instead of BIOS), making GRUB changes was totally ignored. The problem was with definition of output generated GRUB config file. UEFI system reads settings from new location and that is described in second step.

Root privileges are needed in order to apply GRUB changes. Be very careful because some unintended mistake can lead to GRUB problems and your computer will not be able to boot. If this happen, you’ll need Fedora DVD, booting to rescue mode and so on (but this is beyond of this article).

1) Edit /etc/default/grub file and set timeout to new value (say GRUB_TIMEOUT=”2″):

# vi /etc/default/grub

2) Generate grub.cfg – a grub configuration file (and set output to /boot/efi/EFI/fedora directory):

# grub2-mkconfig -o /boot/efi/EFI/fedora/grub.cfg

And that should do the trick. New settings should be applied for the next Fedora 20 boot. Just to be sure, it’s possible to “peek” to the newly generated configuration file and see new GRUB_TIMEOUT settings:

# more /boot/efi/EFI/fedora/grub.cfg

…
…
    insmod video_bochs
    insmod video_cirrus
  fi
}

terminal_output console
set timeout=2
### END /etc/grub.d/00_header ###

### BEGIN /etc/grub.d/10_linux ###
menuentry 'Fedora, with Linux 3.14.4-200.fc20.x86_64' --class fedora ...
…
…

I hope that this brief article will be useful for tweaking Fedora 20.

1 thought on “Change GRUB timeout on Fedora 20 with UEFI”

  1. didn’t work for me with Fedora 21. this is what i got –

    [d@d-HP-Pavilion-dv6700-Notebook-PC ~]$ sudo gedit /etc/default/grub
    [sudo] password for d:

    #gedit window opens; i make the edit and save the file, then i look at the terminal window and see this
    # moreover, etc/default/grub contains the line TIMEOUT = 1
    # but the actual boot menu when booting has a timeout of 5 seconds
    # i do n ot understand why grub writers think users want to sit glued to their keyboards during startup so they can hit the down button before the default they dont want takes them through a wormhole they didnt want to be there

    (gedit:2631): Gtk-WARNING **: Calling Inhibit failed: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name org.gnome.SessionManager was not provided by any .service files

    (gedit:2631): Gtk-WARNING **: Calling Inhibit failed: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name org.gnome.SessionManager was not provided by any .service files

    (gedit:2631): Gtk-WARNING **: Calling Inhibit failed: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name org.gnome.SessionManager was not provided by any .service files

    ** (gedit:2631): WARNING **: Set document metadata failed: Setting attribute metadata::gedit-spell-language not supported

    ** (gedit:2631): WARNING **: Set document metadata failed: Setting attribute metadata::gedit-encoding not supported
    ^C[d@d-HP-Pavilion-dv6700-Notebook-PC ~]$

Leave a Comment