GRUB 2 is derived from PUPA which was a research project to investigate the next generation of GRUB. GRUB 2 has been rewritten from scratch to clean up everything for modularity and portability. A mailing list and a wiki have been setup for discussing the development of GRUB 2.
GRUB 2 targets at the following goals:
- Scripting support, such as conditionals, loops, variables and functions.
- Graphical interface.
- Dynamic loading of modules in order to extend itself at the run time rather than at the build time.
- Portability for various architectures.
- Internationalization. This includes support for non-ASCII character code, message catalogs like gettext, fonts, graphics console, and so on.
- Real memory management, to make GNU GRUB more extensible.
- Modular, hierarchical, object-oriented framework for file systems, files, devices, drives, terminals, commands, partition tables and OS loaders.
- Cross-platform installation which allows for installing GRUB from a different architecture.
- Rescue mode saves unbootable cases. Stage 1.5 was eliminated.
- Fix design mistakes in GRUB Legacy, which could not be solved for backward-compatibility, such as the way of numbering partitions.
Multiboot Specification is a protocol between a boot loader and an OS kernel. Because this specification is generic, you can use the protocol in your own boot loader and/or in your own OS freely. Follow this link, for more details.
Return to the GNU Project home page.
Copyright (C) 1999,2000,2001,2002,2003,2004,2005,2006 Yoshinori K. Okuji
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
Updated: $Date: 2008/03/20 15:00:24 $ $Author: robertmh $