Grub4Dos

Grub4DOS

Меню загрузчика Grub4dos
Меню загрузчика Grub4dos

Grub4DOS (англ. GRUB for DOS) — свободный загрузчик с открытым исходным кодом, основанный на GNU GRUB Legacy (версия 0.97). Проект разработан для интеграции в среду DOS и предоставляет расширенные возможности загрузки операционных систем, включая мультизагрузку[1], работу с образами дисков[1], сетевыми ресурсами и поддержку устаревших систем. Grub4DOS сохраняет актуальность в нишевых сферах, таких как восстановление данных, эмуляция ретро-систем и управление загрузкой на промышленном оборудовании.


История разработки

Начало проекта (2003–2005)

Grub4DOS был создан в 2003 году китайским разработчиком Чэн Юйцзя (псевдоним Tinybit) как форк GNU GRUB. Основная цель — адаптация загрузчика для работы в среде DOS, что позволяло запускать современные операционные системы (например, Windows XP и Linux) на компьютерах без поддержки загрузки с USB или CD/DVD.

  • 2004 год: Добавлена поддержка NTFS через драйвер ntfs-3g, что стало ключевым преимуществом перед другими загрузчиками для DOS.
  • 2005 год: Реализована функция эмуляции дисков (map --mem), позволяющая загружать ОС напрямую из ISO-образов без их записи на физические носители.

Расцвет и сообщество (2006–2010)

В этот период проект привлёк внимание энтузиастов и корпоративных пользователей.

  • 2006 год: Интеграция с PXE для сетевой загрузки, что упростило развёртывание ОС в локальных сетях.
  • 2008 год: Появление графического интерфейса WINGRUB для упрощённой настройки menu.lst.
  • 2009 год: Tinybit покинул проект, но разработку продолжили Huan Ren и Bean, добавив поддержку GPT и дисков объёмом более 2 ТБ.

Современная эпоха (2011–настоящее время)

С 2011 года активная разработка замедлилась, но сообщество продолжает поддерживать проект:

  • 2015 год: Экспериментальная сборка для UEFI (неофициальный форк Grub4DOS-EFI).
  • 2020 год: Выпуск последней стабильной версии 0.4.6a с исправлениями ошибок.
  • 2023 год: Grub4DOS остаётся частью инструментов восстановления, таких как Hiren’s Boot CD и Sergei Strelec WinPE.

Технические особенности

Архитектура

Grub4DOS сохранил модульную структуру GRUB Legacy, но добавил уникальные функции:

  • Режимы работы:
  • Динамическая загрузка модулей: Поддержка дополнительных драйверов (например, USB в DOS через DUSE).

Поддержка файловых систем

Grub4DOS поддерживает широкий спектр файловых систем, что делает его универсальным для работы с различными носителями:

  1. FAT12/16/32:
    • Базовая поддержка для DOS-носителей.
    • Ограничение: Максимальный размер файла — 4 ГБ (из-за ограничений FAT32).
  2. NTFS:
    • Чтение и запись через драйвер ntfs-3g.
    • Поддержка сжатых файлов и символических ссылок.
  3. ext2/3/4:
    • Полная совместимость с Linux-разделами.
    • Ограничение: Нет поддержки журналирования ext4 (только чтение).
  4. ISO9660/UDF:
    • Загрузка напрямую из ISO-образов CD/DVD.
    • Поддержка многосессионных дисков.
  5. exFAT и ReFS:
    • Экспериментальная реализация через патчи сообщества.
    • Нестабильная работа с большими файлами (>32 ГБ).
  6. Сетевые файловые системы:
    • Доступ через TFTP и NFS (требует настройки PXE).

Команды и конфигурация

Grub4DOS использует файл menu.lst для настройки меню загрузки. Пример расширенной конфигурации:

# Загрузка Windows 10 с NTFS-раздела
title Windows 10
find --set-root /bootmgr
chainloader /bootmgr

# Запуск Ubuntu Live из ISO-образа
title Ubuntu 22.04 Live
map --mem /iso/ubuntu.iso (0xff)
map --hook
root (0xff)
kernel /casper/vmlinuz boot=casper iso-scan/filename=/iso/ubuntu.iso
initrd /casper/initrd.img

# Сетевая загрузка Debian через PXE
title Debian NetInstall
pxe detect
kernel tftp://192.168.1.1/debian/linux
initrd tftp://192.168.1.1/debian/initrd.gz

Работа с образами дисков

  • Эмуляция дискет и жёстких дисков:
    • map --mem /image.img (fd0): Загрузка образа дискеты в виртуальный дисковод.
    • map --heads=2 --sectors=18 /image.vhd (hd0): Эмуляция жёсткого диска с заданными параметрами.
  • Сжатие образов: Поддержка форматов GZIP, LZMA и XZ для экономии места.

Сообщество и поддержка

Ресурсы и документация

Производные проекты

  • Easy2Boot: Мультизагрузочный USB-инструмент с поддержкой UEFI и BIOS.
  • Clover EFI: Интеграция Grub4DOS в загрузчик Hackintosh.
  • ReactOS Loader: Использование кодовой базы Grub4DOS для загрузки ReactOS.

Критика и ограничения

  1. Устаревшая кодовая база:
    • Основан на GRUB Legacy, который официально признан устаревшим в 2015 году.
    • Нет поддержки современных стандартов, таких как Secure Boot.
  2. Ограниченная поддержка оборудования:
    • Нет официальной реализации для UEFI.
    • Проблемы с USB 3.0 в DOS-режиме.
  3. Сложность для новичков:
    • Требуется ручное редактирование menu.lst.
    • Отсутствие графического редактора конфигураций в официальной сборке.☢

Применение в современных сценариях

Восстановление данных

  • Интеграция с TestDisk и PhotoRec: Загрузка утилит напрямую из ISO-образов.
  • Работа с RAID-массивами: Поддержка программных RAID-контроллеров.

Виртуализация и эмуляция

  • QEMU/VirtualBox: Использование Grub4DOS для тестирования загрузочных образов.
  • Retro-игры: Запуск DOS-игр через эмулируемые дискеты.

Промышленные системы

  • Управление встроенными ПК: Загрузка специализированных ОС на оборудовании с устаревшим BIOS.
  • Киоски и терминалы: Настройка автозапуска приложений через autoexec.bat.

Сравнение с аналогами

Характеристика Grub4DOS GNU GRUB 2 Syslinux
Поддержка DOS Да Нет Через DOSAPI
Загрузка из ISO Да Частично Нет
Сеть (PXE) Да Да Да
UEFI Экспериментально Да Да
Простота настройки Средняя Сложная Высокая

Будущее проекта

Несмотря на прекращение активной разработки, Grub4DOS остаётся востребованным в нишевых областях. Сообщество сосредоточено на:

  • Поддержке новых форматов образов (например, WIM).
  • Интеграции с облачными хранилищами через HTTP-загрузку.
  • Создании форков с поддержкой ARM-архитектур.

Ссылки и источники

Примечания

  1. 1 2 Трещев И.А., Гулина Н.А. Администрирование распределенных информационных систем. Часть 4. Компьютерные технологии. Для студентов технических специальностей. — Ridero, ЛитРес, 2025. — С. 238 — 290. — 300 с. — ISBN 978-5-0065-6135-9.

Дополнительная литература

  1. Приходько Д.И. ИССЛЕДОВАНИЕ ЗАГРУЗОЧНОЙ СИСТЕМЫ НА БАЗЕ ЗАГРУЗЧИКА GRUB4DOS // Фундаментальные и прикладные научные исследования: актуальные вопросы, достижения и инновации. сборник статей XI Международной научно-практической конференции: в 3 частях. : Сборник статей. — 2018. С. 39—40.