От GRUB до GRUB4DOS

Владимир Попов

2009-04-15

Не помню, сколько раз и для кого я писал о GRUB. Первый раз — лет семь назад, если не больше. И распространение GRUB за это время только увеличивалось. Хотя проект уже достаточно давно практически заморожен. Ничего удивительного: мир *-nix-ов знает и худших "долгожителей" (sendmail, например). А зачем усовершенствовать то, что и так хорошо работает? Разве что с целью подзаработать, так в среде FOSS это не так уж и актуально...

Однако: усовершенствуют. И энтузиасты, и, в особенности, составители дистрибутивов. Началось с подстановки фонового изображения (splashimage, который "канонический" GRUB традиционно игнорирует), а закончилось тем, что GRUB-ы разных дистрибутивов перестали понимать "чужие" ext3. Случай редкий, но — зафиксирован.

Используя GRUB в качестве минималистического менеджера разделов, я вдруг обнаружил, что GRUB какого-то очередного RHEL-а не принимает команду 'parttype'. Неприятное открытие, если учесть, что как раз существующие win-оразделы я и собирался "замаскировать"... Короче: претензии накапливались.

Ждать "дозревания" преемника (GRUB 2) не представляется возможным: слишком часто в моей практике случается потребность манипулировать загрузками/разделами. Да и настораживает "планов громадье" последнего. С другой стороны, всё большее распространение получает "восточный тигр" — GRUB4DOS. Как и большинство проектов, приходящих к нам из "поднебесной", GRUB4DOS "не без греха": документация запаздывает, прозрачность оставляет желать лучшего (будем считать это следствием наличия языкового барьера, а не традиционной закрытостью восточного соседа), да и перспективы прогнозировать сложно: "Восток — дело тонкое...", как говорил товарищ Сухов.

Когда-то GRUB4DOS разочаровал меня своей "простотой": ну что за манера — использовать первый попавшийся menu.lst из корня первого же раздела (когда разделов этих у меня под два десятка). И что за привязанность к FAT? Где я им её возьму? Время шло, однако. Количество ФС, сосуществующих с GRUB4DOS увеличивалось, да и достоинства обнаружились. О заметно расширившейся функциональности команды map я сам же и писал однажды.

Но и отказываться от "канонического" GRUB (который теперь называется GRUB Legacy), смысла не вижу. Во-первых, потому, что некоторые его качества по-прежнему уникальны (даже в сравнении с GRUB4DOS), во-вторых, потому что большего количества ФС по-прежнему не поддерживает ни один другой загрузчик и, наконец, в-третьих: зачем "исправлять" то, что и так работает много лет?

Компромиссное решение очевидно: дополнить GRUB файлами GRUB4DOS. Благо, последних "всего-ничего": grldr и grub.exe. "Дополнить" GRUB для меня, в данном случае, означает записать два вышеупомянутых файла в каталог /boot/grub "основного" GRUB на винчестере, и в каталог /boot/grub "заготовки", из которой я обычно делаю всевозможные livecd.

Собственно, мне нужен-то только grub.exe, который вставляется в меню (menu.lst) строками:

title GRUB4DOS
kernel (hd0,5)/grub/grub.exe
(Раздел, разумеется у вас может быть и другой).

И пусть никого не вводит в заблуждение расширение "exe". "Exe-шником" в понимании ms windows данный файл не является ни в коей мере.

grldr же я позаимствовал лишь на тот случай, когда на целевом компьютере предполагается запускать GRUB4DOS средствами стандартного загрузчика ХР (ntldr). Бывает...

Загружать GRUB4DOS в настоящее время рекомендуется с sourceforge.net.

При наличии хорошего перевода известного руководства Diddi (правда, на настоящий момент с отставанием на один релиз), пересказывать документацию считаю излишним. А всё вышесказанное — лишь маленькая реклама GRUB4DOS, который на настоящий момент позволяет компенсировать накопившиеся недостатки GRUB Legacy.