After being in development for many years, GRUB 2.00 will be released in the coming days.
GRUB 2.00 Release Candidate 1 was uploaded to the GNU.org FTP server
on Saturday. On the GRUB development list
was then a brief message.
Hello, all. I'm proud to introduce 2.00~rc1 to you.
It's available as
As far as I'm aware all issues have been either postponed or resolved correctly, so I'll release 2.00 on Monday. Give ~rc1 a spin over the weekend and report any issues.
Vladimir 'φ-coder/phcoder' Serbinenko
The GRUB 2.00 release didn't come on Monday, but there's been some technical follow-up messages since the RC1 announcement so they may still be addressing last minute issues.
GRUB 2 is a complete rewrite compared to GRUB Legacy and has been in development for more than a decade without seeing a GRUB 1.00 release. Among the many new features to GRUB2 is Btrfs file-system support, ZFS support, using ACPI to shutdown where possible, a new relocator, a new build system, support for new platforms like the MIPS Yeeloong, improved video card support, menu hot-key support, support for booting XNU (the MacOS X kernel), many new commands, EFI handling, improved ATA support, and a whole lot more.
Embedded below is the official change-log found within the GRUB2 source package that covers the major features that happened during the GRUB 1.9x development releases since the first GRUB 1.90 release back in 2005. Look for the official GRUB 2.00 release any day now.
New in 1.99:
- Keyboard layouts support.
- New 'lsapm' command (i386-pc only).
- Parser for GRUB Legacy configuration files.
- Support RAID on virtio devices.
- Remove deprecated 'root' command.
- New 'euro.pf2' font which supports most European languages.
- Avoid opening the same device twice on Open Firmware platforms.
- Extend 'vbeinfo' and 'vbetest' commands to non-VBE graphics, as 'videoinfo' and 'videotest'.
- New 'lsefisystab', 'lssal', and 'lsefimmap' commands on EFI platforms.
- Support explicit user claim that a device is BIOS-visible. Devices listed in device.map will be assumed to be readable using only BIOS facilities, rather than anything more complex such as LVM or RAID.
- New bash-completion script for GRUB utilities.
- Use ACPI to shut down if possible.
- New 'lsacpi' command.
- Btrfs support.
- New '--boot-directory' option to 'grub-install', 'grub-reboot', and 'grub-set-default', with clearer semantics than the previous '--root-directory' option.
- Rename CD-ROM device to "cd" on BIOS platforms.
- Transparent decompression filters.
- Simpler PXE image generation. New 'grub-mknetdir' utility to generate netboot directory trees.
- New relocator. Allows for more kernel support and more straightforward loader writing.
- Handle USB pendrives exposed as floppies.
- New Automake-based build system.
- Add 'sendkey' command (i386-pc only).
- ZFS support.
- Support 1.x versions of mdadm metadata.
- Fix corruption when reading Reiserfs directory entries.
- Bidirectional text and diacritics support.
- Skip LVM snapshots.
- MIPS Yeeloong firmware port.
- Change grub-mkdevicemap to emit /dev/disk/by-id/ names where possible on GNU/Linux.
- Add 'grub-mkconfig' support for Xen with Linux.
- Add 'grub-mkconfig' support for initrd images on Fedora 13.
- Support >3GiB and <16MiB RAM in i386-qemu.
- Add support for Cirrus 5446 and Bochs video cards.
- Load more appropriate video drivers automatically in 'grub-mkconfig'.
- USB improvements, including hotplugging/hotunplugging, hub support, and USB serial support.
- AMD Geode CS5536 support.
- Extensive updates to the Texinfo documentation.
- Handle symbolic links under /dev/mapper on GNU/Linux.
- Handle installation across multiple partition table types.
- Add 'cmostest' command (i386/x86_64 only).
- Add support for DM-RAID disk devices on GNU/Linux.
- Remove 'grub-mkisofs'. 'grub-mkrescue' now uses GNU xorriso to build CD images.
- 'grub-mkrescue' support for EFI, coreboot, and QEMU platforms.
- Unify 'grub-mkimage', 'grub-setup', and 'grub-install' source code across platforms.
- Fix VGA (as opposed to VBE) video driver, formerly a terminal driver.
- Add menu hotkey support.
- Add support for the nilfs2 filesystem.
- 'grub-probe' and 'grub-mkconfig' support for NetBSD.
- Support setting a background image in 'grub-mkconfig'.
- Support multiple terminals in 'grub-mkconfig'.
- Regexp support.
- MIPS multiboot2 support.
- Multiboot2 tag support.
- sunpc partition table support.
- Add a number of new language features to GRUB script: 'for', 'while', 'until', 'elif', function parameters, 'break', 'continue', 'shift', multi-line quoted strings, positional parameters with 'setparams', 'return', filename wildcard expansion, and '!'.
- Support nested partition tables. GRUB now prefers to name partitions in the form '(hd0,msdos1,bsd1)' rather than '(hd0,1,a)'.
- Speed up consecutive hostdisk operations on the same device.
- Compile parts of 'grub-emu' as modules.
New in 1.98 - 2010-03-06:
- Multiboot on EFI support.
- Graphical menu support.
- MIPS support.
- Saved default menu entry support, with new utilities 'grub-reboot' and 'grub-set-default'.
- Unit testing framework.
- Support for multiple terminals.
- Encrypted password support, with a new utility 'grub-mkpasswd-pbkdf2'.
- 'grub-mkfloppy' removed; use 'grub-mkrescue' to create floppy images.
- Add grub-probe support for GNU/Hurd.
- Add support for gettext.
New in 1.97:
- Add support for loading XNU (MacOS X kernel).
- ACPI override support.
- Integrated gptsync.
- Password protection support.
- Partition manipulation tool.
- Add 'keystatus' command.
- Unicode fonts are now used by default.
- Add 'hdparm' command.
- Add support for getting the current date and time from CMOS as variables.
- Add 'drivemap' command.
- Add support for RAID levels 4,6 and 10.
- update-grub is replaced by grub-mkconfig.
- When booting from PXE, PXE can be used to load files.
- High resolution timer support.
- Image loaders now support IO buffering.
- Add 'crc' command.
- Add Cygwin support.
- Add x86_64 EFI support.
- Use LZMA compression instead of LZO.
- Support for saving the environment from and loading the environment from a file.
- Allow the UUID to be used as device name.
- The 'search' command can use UUIDs now.
- Add support for IEEE 1275 on i386.
- Create partmap.lst and use it to automatically load partition map modules.
- grub-mkconfig supports os-prober to add operating systems to the boot menu.
- The ATA driver supports devices bigger than 2 TiB.
- Add support for the UDF, AFS and EXT4 filesystems.
- The ISO9660 filesystem supports the Joliet extension
- Add support for loading kernels of FreeBSD, NetBSD and OpenBSD.
- Add new command 'sleep'.
- Support for direct access to AT keyboards.
- New utility 'grub-fstest'.
New in 1.96 - 2008-02-03:
- The license term is changed to GNU General Public License Version 3.
- grub-emu is made optional. Now you have to use '--enable-grub-emu' to enable it.
- Add Multiboot2 support.
- grub-emu can access the host filesystem now.
- Add support for the NTFS, cpio/tar and Reiserfs filesystems.
- Add support for ATA/ATAPI.
- Add update-grub script to generate grub.cfg.
- Add grub-mkrescue script to generate floppy or ElTorito images (i386-pc only).
- Add support for background images in gfxterm (background_image command).
- Add support for detection of 64-bit support in CPU (cpuid command).
- GPT is now enabled in i386-pc target.
- Add grub-install for EFI.
- Ported to the following new platforms: Efika, coreboot (a.k.a. LinuxBIOS), OLPC XO.
- Add support for colored menu (menu_color_normal and menu_color_highlight variables).
- Fix support for loading Linux zImages (such as memtest86).
New in 1.95 - 2006-10-15:
- Number partitions from 1 instead of 0. For instance, the first partition of "hd0" is now "hd0,1" but not "hd0,0".
- grub-probefs is renamed to grub-probe, and supports printing a guessed OS device name and a GRUB drive name.
- RAID and LVM support is added.
- New command, echo.
- The disk API is changed to support 64-bit addressing.
- A TGA loader is added for the video API.
New in 1.94 - 2006-06-04:
- Fix several serious bugs in HFS+.
- Add experimental EFI support. Chainloading and Linux loading are supported at the moment.
- Add a new command "blocklist" to show a block list.
- Use --with-platform to specify a boot environment. For now, efi, ieee1275 and pc are supported.
- Use the filename "kernel.elf" instead of "grubof" on ieee1275.
- Install GRUB into pkglibdir instead of pkgdatadir.
- Support environmental variables. You can export variables by the command "export".
- Remove the commands "default" and "timeout". They are now variables.
- Add the commands "source" and "." to include a file.
- Implement experimental Video API and a new terminal "gfxterm" based on the Video API.
New in 1.93 - 2006-03-10:
- Add support for the HFS+ wrapper.
- Major improvements to scripting support.
- Menu entries are now scriptable.
New in 1.92 - 2005-12-25:
- Add support for GPT partition table format.
- Add a new command "play" to play an audio file on PC.
- Add support for Linux/ADFS partition table format.
- Add support for BASH-like scripting.
- Add support for Apple HFS+ filesystems.
New in 1.91 - 2005-10-15:
- Add support for LZO version 2.
- Support completion in the entry editor.
- Add VBE support.
- New commands, "search", "vbetest" and "vbeinfo".
- The option BOOT_IMAGE is passed to Linux.
- Add support for automatic decompression for gzip.
- Add support for terminfo and serial.
- Add support for x86_64.
- GRUB itself is a Multiboot-compliant kernel.
- Add new filesystems: XFS, SFS, and AFFS.
New in 1.90 - 2005-08-07:
- Rename the project name PUPA to GRUB. Now this version is the developmental version of GRUB officially.
- The GRUB emulator ''grub-emu'' is added.
- Add support for newworld Mac. This should work with other PowerPC-based machines as well, if they use IEEE 1275 (Open Firmware).
- Too many changes to describe. Look at ChangeLog for more details.