Close Menu
    Facebook X (Twitter) Instagram
    Command Linux
    • About
    • How to
      • Q&A
    • OS
      • Windows
      • Arch Linux
    • AI
    • Gaming
      • Easter Eggs
    • Statistics
    • Blog
      • Featured
    • MORE
      • IP Address
      • Man Pages
    • Write For Us
    • Contact
    Command Linux
    Home - Arch Linux - What Is GRUB In Linux

    What Is GRUB In Linux

    WillieBy WillieFebruary 18, 2026No Comments6 Mins Read

    Every Linux machine needs a boot manager to power on. Without one, no operating system can start. GRUB (Grand Unified Bootloader) fills this role. It is a product of the GNU project and remains the go-to boot manager for most Linux distributions.

    When you press the power button, GRUB is the first software that runs after hardware checks finish. It hands off control to the operating system kernel once everything is ready.

    What Is GRUB in Linux?

    GRUB is the program that loads and manages the boot process on Linux systems. A few boot loaders exist for Linux — GRUB, LILO, and SYSLINUX among them — but GRUB is the most widely used and one of the few still maintained.

    When your Linux OS starts, GRUB runs first. It loads the kernel into memory, and the kernel then loads everything else: the shell, the desktop environment, and other system services.

    GRUB also acts as a boot manager. The boot loader portion loads the kernel into memory. The boot manager portion is the on-screen menu that lets you pick which OS or kernel to load.

    Note: GRUB 2 has replaced the original GRUB (now called GRUB Legacy) on all major distributions. When this article refers to GRUB, it means GRUB 2 unless stated otherwise.

    Why GRUB Is the Default Linux Bootloader

    GRUB replaced older boot managers because it brought several practical capabilities to the table.

    Capability What It Does
    LBA Support Offloads file-location math to the hard drive firmware, bypassing the old 1024-cylinder BIOS limit
    Command-Based Environment Lets users tweak boot options before the OS loads
    Kernel Parameter Editing Allows changes to boot settings through the GRUB command line
    Simplified Kernel Location Only requires the disk number, partition number, and kernel filename
    Multi-OS Booting Can load nearly any OS via direct or chain-load methods

    How Is GRUB Installed?

    Many distributions, including Ubuntu and Fedora, install GRUB automatically during OS installation. No manual steps are needed. For a manual install, follow these steps:

    1. Grab the newest GRUB package from the official GNU site, or use the one bundled with your installation media.
    2. Open a root shell and run the install command:
      # /sbin/grub-install /dev/sda
      Replace /dev/sda with the target device for the stage 1 loader.
    3. Reboot the machine. A graphical GRUB menu will now appear before the kernel loads into memory.
    Warning: Running grub-install on the wrong device can overwrite another OS’s bootloader. Double-check the target device before executing.

    What Is the GRUB Boot Process?

    Every time you start or reboot a Linux system, it passes through several stages before you reach a login prompt.

    1. BIOS/UEFI. The firmware runs first. It checks that all connected hardware is functional, then loads the Master Boot Record (MBR) from the primary hard drive. On UEFI systems, it reads from the EFI system partition instead.
    2. GRUB Stage 1. The BIOS places this small loader (512 bytes or less) into memory from the MBR. Its only job is to call the next stage.
    3. GRUB Stage 1.5 (optional). Some hardware configurations need this intermediate step. It contains filesystem drivers that let Stage 2 be read from disk.
    4. GRUB Stage 2. This stage shows the GRUB menu and command environment. Users select an OS or kernel here. If no selection is made before the timeout, the default entry boots automatically.
    5. Kernel Load. Stage 2 places the chosen kernel into memory and transfers full machine control to it. The kernel then mounts the root filesystem and starts system services.
    6. Init. The init system (systemd on most modern distributions) starts services and presents the login prompt.
    Tip: Hold Shift during boot on BIOS systems (or press Esc on UEFI systems) to force the GRUB menu to appear if it is hidden by default.

    What Are the GRUB Interfaces?

    GRUB gives users three separate modes of interaction. Each one offers a different level of control.

    Menu Interface

    This is the default. It shows a list of available operating systems and kernels sorted by name. Use the arrow keys to pick one and press Enter to boot it. A configurable timeout will auto-boot the default entry if no selection is made.

    Menu Entry Editor Interface

    Press e on any menu item to open the editor. All GRUB commands tied to that entry appear on screen. Modify them for a one-time boot tweak — the changes are not saved permanently.

    Command Line Interface

    Press c from the menu to access this mode. It provides full manual control: type any GRUB command and execute it with Enter. This is the most powerful interface and is useful for troubleshooting failed boots.

    GRUB Configuration File

    GRUB stores its settings in /etc/default/grub. After editing this file, regenerate the main config:

    # update-grub

    Common parameters in this file:

    Parameter Purpose
    GRUB_DEFAULT Sets which menu entry boots by default (by index number or title)
    GRUB_TIMEOUT Seconds the menu displays before auto-booting the default entry
    GRUB_CMDLINE_LINUX Kernel command-line parameters passed at every boot
    GRUB_DISABLE_OS_PROBER Enables or disables automatic detection of other installed operating systems
    Warning: Never edit /boot/grub/grub.cfg directly. That file is auto-generated. Always edit /etc/default/grub and run update-grub to apply changes.

    FAQs

    GRUB loads the operating system kernel into memory after hardware checks complete. It also provides a menu for selecting between multiple installed operating systems or kernel versions.

    Yes. GRUB can boot Windows and other operating systems through chain-loading. It loads the target OS’s own bootloader, which then handles the rest of the startup process.

    GRUB 2 is a complete rewrite of the original GRUB (now called GRUB Legacy). It adds support for modern architectures, UEFI booting, scripting, and a wider range of filesystems.

    Edit /etc/default/grub for settings. The generated config lives at /boot/grub/grub.cfg, but that file should not be edited manually. Run update-grub after changes.

    Boot from a live USB, mount the installed system’s root and EFI partitions, then run grub-install and update-grub from a chroot environment to reinstall and regenerate the config.

    Willie
    • Website

    Willie has over 15 years of experience in Linux system administration and DevOps. After managing infrastructure for startups and enterprises alike, he founded Command Linux to share the practical knowledge he wished he had when starting out. He oversees content strategy and contributes guides on server management, automation, and security.

    Related Posts

    Arch Based Distros You Should Try in 2026

    March 19, 2026

    How to Set Up Spotify Arch Linux

    March 18, 2026

    How To Use Nmcli Connect To Wi-Fi on Linux

    March 14, 2026

    How to Do a Zsh Install on Any Linux Distro

    March 13, 2026
    Top Posts

    How to Use WinSCP for Linux File Transfers

    March 30, 2026

    Is Apple Teleport Legit

    January 7, 2026

    How Tech TheBoringMagazine Is Honoring Technology’s Hidden Heroes

    January 27, 2026

    SYSTEMD.MOUNT

    February 2, 2026
    • Home
    • Contact Us
    • Privacy Policy
    • Terms of Use

    Type above and press Enter to search. Press Esc to cancel.