Разработчики универсального модульного загрузчика GNU GRUB (GRand Unified Bootloader) объявили о выходе версии 1.99. Скорее всего это будет последняя экспериментальная версия на пути к стабильному выпуску 2.0, о чем сигнализирует факт переезда проекта c сервера alpha.gnu.org на ftp.gnu.org.
Наиболее интересные изменения:
- Официальная поддержка загрузки с файловой системы ZFS. Как известно GRUB поставляется под лицензией GPLv2, которая несовместима с лицензией CDDL, под которой распространяется код ZFS. Тем не менее, компания Oracle поставляет базовый код для чтения ZFS-раздела в составе измененной версии GRUB, используемой в ОС Solaris, приняв таким образом условия лицензии GPL (GRUB, распространяется под GPL, соответственно его модификации тоже наследуют эту лицензию). Именно этот код и был импортирован в GRUB 1.99.
- Поддержка файловых систем BtrFS и NILFS2. Исправлена ошибка при чтении каталогов Reiserfs;
- Поддержка устройств DM-RAI;
- Поддержка в MIPS multiboot2 таблиц разделов sunpc;
- Поддерживается изменение раскладки клавиатуры, двунаправленный текст и диакрических знаков;
- Завершить работу загрузчика теперь можно средствами ACPI.
- Новые команды: lsacpi и sendkey (i386), cmostest (i386/x86_64), lsefisystab, lssal, lsefimmap (EFI);
- Упрощена процедура генерации PXE-образов. Добавлена утилита grub-mknetdir, генерирующая каталоговую структуру для сетевой загрузки;
- Команда grub-mkconfig теперь поддерживает Xen, образы initrd Fedora 13 и NetBSD. Также с помощью grub-mkconfig теперь можно установить фоновое изображение загрузочного меню;
- Добавлена возможность адресации памяти ниже 16 Мб и выше 3 Гб в i386-qemu;
- Появилась поддержка горячего подключения/отключения USB-устройств, USB-хабов, и USB-эмуляторов последовательного порта;
- Команда grub-mkrescue теперь использует GNU xorriso для создания CD-образов, вместо grub-mkisofs. Устройство CD-ROM теперь именуются "cd";
- Теперь загрузчик может быть установлен во вложенный раздел (например BSD-раздел). Предпочтительный способ указания вложенных разделов теперь выглядит так: (hd0,msdos1,bsd1), а не (hd0,1,a);
- Во встроенный скриптовый язык GRUB добавлены следующие языковые конструкции: for, while, until, elif, break, continue, shift, return, маски файлов, регулярные выражения, параметры функций, позиционные параметры в setparams;
- Добавлен новый скрипт с реализацией автодополнения в стиле bash;
- Возможность использования GRUB в качестве прошивки в Yeeloong, полностью свободном нетбуке на базе MIPS-совместимого процессора Loongson-2F;
- Добавлен парсер для файлов конфигурации устаревших версий GRUB;
- Реализованы фильтры для прозрачной распаковки;
- Поддержка мета-данных mdadm 1.x;
- Поддержка горячих клавиш в меню.
GRUB поддерживает широкий спектр платформ, включая обычные ПК с BIOS ПК, платформы IEEE-1275 (OLPC и оборудование на базе PowerPC/Sparc64), EFI-системы и устройства, использующие свободный пакет CoreBoot (LinuxBIOS). Из ранее реализованных в рамках проекта Grub2 улучшений, можно отметить: использование нового загрузчика Multiboot2; поддержку выполнения скриптов; динамическую загрузку модулей; доступ к файлам на ФС NTFS, Reiserfs, EXT4, AFS, UDF, RAID 4/6/10 и данным внутри cpio/tar архивов; создание графических меню с интегрированными виджетами; вывод локализованного текста в отличных от ASCII кодировках; использование шифрованных паролей; поддержку загрузки ядра FreeBSD, NetBSD, OpenBSD и MacOS X (XNU).