Generated by GPT-5-mini| GRUB2 | |
|---|---|
![]() Karol Kreński · Public domain · source | |
| Name | GRUB2 |
| Developer | Free Software Foundation, GNU Project, Richard Stallman, Red Hat, Canonical (company), Debian |
| Initial release | 2009 |
| Programming language | C, Assembly language |
| Operating system | Linux kernel, GNU Hurd, FreeBSD, NetBSD, OpenBSD |
| License | GNU General Public License |
GRUB2 GRUB2 is a modular bootloader widely used to initialize and chainload operating systems on x86, x86-64, ARM and other platforms. It provides a flexible configuration system, scripting capabilities, and a recovery environment that integrates with diverse distributions and firmware interfaces. GRUB2 is a successor to earlier booting software and is integral to many Debian, Ubuntu, Fedora (operating system), Red Hat Enterprise Linux and Arch Linux deployments.
GRUB2 implements a stage-based boot sequence that supports multiple filesystems, kernel parameters, and menu-driven selection for systems like Linux kernel, FreeBSD, NetBSD, and OpenBSD. It interfaces with firmware such as Unified Extensible Firmware Interface and legacy BIOS implementations, while integrating with installers from projects like Debian and Canonical (company). GRUB2 supports encrypted and signed kernels in cooperation with technologies such as Secure Boot and management tools from Red Hat and SUSE. Maintainers and contributors include developers from GNU Project and distributions including Debian and Red Hat Enterprise Linux.
The GRUB2 project arose as a redesign of earlier work by the GNU Project and contributors associated with Richard Stallman to replace the original GRUB used by distributions like Debian and Red Hat. Development traces through interactions with distributions such as Mandriva and companies including Canonical (company) that needed improved scripting and modularity. The redesign focused on addressing limitations observed during deployments in environments created by projects like Ubuntu and Fedora (operating system), and to support modern firmware projects like Unified Extensible Firmware Interface led by industry groups including Intel.
GRUB2's architecture separates early-stage boot code, platform-specific modules, filesystem drivers, and configuration scripts. Key components include a boot sector compatible with BIOS and a core image that can load modules for filesystems like ext4, Btrfs, XFS, and FAT32. Configuration files such as grub.cfg interact with utilities from distributions like Debian and management scripts used by systemd-based installers like Fedora (operating system). Modules provide support for features including themes and internationalization, influenced by projects like GNU gettext and packaging systems like RPM Package Manager and APT (software).
Installation flows through distribution installers or manual tools such as grub-install and grub-mkconfig, often invoked by maintainers from Debian, Ubuntu, Red Hat Enterprise Linux, or Arch Linux packages. Configuration is generated by scripts that scan block devices and kernels from projects like Linux kernel as packaged by Debian and Ubuntu, creating entries that reference initramfs images produced by tools such as mkinitramfs and dracut. GRUB2 supports customization with scripts, themes, and variables used in environments managed by systemd and other init systems such as SysVinit.
During boot, the firmware (BIOS or Unified Extensible Firmware Interface) transfers control to GRUB2's stage code, which loads modules and the configuration to present a menu. GRUB2 can directly load kernels like the Linux kernel or perform chainloading to other boot managers, including bootloaders used by Microsoft Windows and boot managers installed by Apple Inc. on Intel-based systems. Chainloading is commonly used in dual-boot scenarios with distributions such as Debian and proprietary systems, and integrates with techniques from projects like os-prober.
GRUB2 can enforce cryptographic verification and support Secure Boot by validating signatures produced using X.509 and keys managed by platform vendors such as Microsoft Corporation or distribution maintainers like Red Hat. It can load kernels from encrypted partitions employing utilities derived from LUKS and dm-crypt, and integrates with initial ramdisks created by dracut or initramfs-tools. Authentication for the GRUB2 menu and password protection can be configured using hashed credentials, with guidance from security projects such as OpenSSL.
GRUB2 runs on multiple CPU architectures including x86, x86-64, ARM and PowerPC, supporting operating systems like Linux kernel, FreeBSD, NetBSD, and derivatives maintained by projects such as FreeBSD Foundation. It is packaged by distributions including Debian, Ubuntu, Fedora (operating system), Arch Linux, and openSUSE, and works with filesystems supported by kernel maintainers like those from The Linux Kernel Archives. GRUB2's portability has enabled adoption in server platforms from vendors like Dell Technologies, HP Inc., and cloud images provided by providers such as Amazon Web Services.
Common recovery techniques involve using live environments from Debian, Ubuntu, or SystemRescueCD to reinstall or reconfigure GRUB2 with grub-install and grub-mkconfig. Recovery also references tools and documentation from projects like GNU Project and distribution communities including Arch Linux and Debian for handling issues such as corrupted grub.cfg, missing modules, or mismatches with Unified Extensible Firmware Interface settings. Chainloading failures, Secure Boot signature errors, and filesystem driver issues are often diagnosed with utilities from e2fsprogs, btrfs-progs, and partitioning tools maintained by GNU Parted.
Category:Boot loaders