Announcement

Collapse
No announcement yet.

GRUB timer at 30 s

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    GRUB timer at 30 s

    I have Kubuntu 24.04 install on a new HDD for about a month.
    When I boot up, it shows the GRUB menu for 30 s. I can't remember if it did that since day 1 but it has been a while like that.

    You know, the usual GRUB menu that looks like this
    https://itsfoss.com/access-grub-virtual-machine/

    I had this line in the file /etc/default/grub
    GRUB_TIMEOUT=0

    I tried
    GRUB_TIMEOUT=3
    and then I run
    sudo update-grub​

    It succeeds and I boot up but
    it still shows the menu with a 30 s counter.

    GRUB_TIMEOUT_STYLE=menu
    so I guess the above makes the menu show up but I tried
    GRUB_TIMEOUT_STYLE=hidden

    This is the entire file.
    I have only added
    mitigations=off

    Code:
    # 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_TIMEOUT_STYLE=hidden
    GRUB_TIMEOUT=3
    GRUB_DISTRIBUTOR='Kubuntu'
    GRUB_CMDLINE_LINUX_DEFAULT="quiet splash resume=UUID=50961ac8-9164-434d-8196-1556bb3d1cc0 mitigations=off"
    GRUB_CMDLINE_LINUX=""
    
    # If your computer has multiple operating systems installed, then you
    # probably want to run os-prober. However, if your computer is a host
    # for guest OSes installed via LVM or raw disk devices, running
    # os-prober can cause damage to those guest OSes as it mounts
    # filesystems to look for things.
    #GRUB_DISABLE_OS_PROBER=false
    
    # 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_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"
    ​

    In a VM, I experimented a bit with Kubuntu 24.04
    I tried
    GRUB_TIMEOUT=15
    and that works.

    I tried
    GRUB_TIMEOUT_STYLE=menu

    and that works.

    Why does it work in the VM but not my real PC?

    I always run
    sudo update-grub​
    after making a change to the grub file.

    #2
    AI Overview

    The 30-second GRUB countdown often persists despite changing
    GRUB_TIMEOUT because of GRUB_RECORDFAIL_TIMEOUT. When the system detects a boot failure, it defaults to a 30-second menu wait. To fix this, add GRUB_RECORDFAIL_TIMEOUT=5 (or desired seconds) to /etc/default/grub and run sudo update-grub.

    Here is how to resolve the issue:

    Edit the Configuration File: Open a terminal and edit the file:

    sudo nano /etc/default/grub

    Add/Modify Variables: Add the following lines to ensure the timeout is respected, even if a previous boot was considered a "failure": bash

    GRUB_TIMEOUT=5
    GRUB_RECORDFAIL_TIMEOUT=5

    Setting GRUB_RECORDFAIL_TIMEOUT to 0 makes it skip the menu immediately, while a low number like 5 gives you time to react.

    Update GRUB: Apply the changes by running:

    sudo update-grub (on Ubuntu/Mint) or sudo grub2-mkconfig -o /boot/grub2/grub.cfg (on Fedora/RHEL).

    Reboot: Restart your computer to verify the change.

    Why this happens:
    If your computer experiences a crash, hard power-off, or fails to boot properly, GRUB triggers a "record fail" state, ignoring the standard GRUB_TIMEOUT and defaulting to 30 seconds to allow for recovery. This is common on EFI systems.



























    Windows no longer obstruct my view.
    Using Kubuntu Linux since March 23, 2007.
    "It is a capital mistake to theorize before one has data." - Sherlock Holmes

    Comment


      #3

      The AI is getting better, but​ not quite there

      Originally posted by Snowhog View Post
      Why this happens:
      If your computer experiences a crash, hard power-off, or fails to boot properly, GRUB triggers a "record fail" state, ignoring the standard GRUB_TIMEOUT and defaulting to 30 seconds to allow for recovery. This is common on EFI systems.
      True, but not the reason for this happening in *buntu, though the common fix is the same. It is a long standing bug/feature that mostly seems to involve lvm, btrfs, etc. It may have been done on purpose.

      The grub scripting used to fix problems on lvm causes a 30 second timeout on other filesystems that use volumes, apparently.

      One can edit the scripting, but the proposed fix is gobs easier.

      Using GRUB_RECORDFAIL_TIMEOUT=$GRUB_TIMEOUT​ instead of a specific time is also a common method, as this sets it to whatever you set your custom timeout to be so you only need to edit one value.
      Self-built: Asus PRIME B550M-K/Ryzen 5600GT/32Gb/Intel ARC B580 12Gb/KDE neon
      HP Elitedesk 800 G3 Mini: i5-7500T(35w)/32Gb/KDE Linux/Kubuntu LTS
      HP Chromebook 14: i5-1135G7/8Gb/512Gb SSD/KDE neon

      Comment

      Users Viewing This Topic

      Collapse

      There are 0 users viewing this topic.

      Working...
      X