GRUB - GRand мира загрузчиков

         

Зачем?


Как-то "сложилось по жизни", что на IBM PC мне всегда требовалось более одной операционной системы. Сама архитектура этого компьютера такую мультизагрузку вполне допускает, род моих занятий - программист, так что особых проблем упомянутая потребность не вызывала. В тех же случаях, когда подобная мультизагрузка требовалась кому-то ещё, я рекомендовал xboot Ильи Евсеева. С приходом Pentium-II инсталлятор xboot пришлось слегка подправить по поводу run-time error 202 (ну, не предполагали разработчики TurboPascal, что так быстро всё случится), за что, пусть с опозданием, приношу извинения автору: несанкционированная модификация кода, всё же. А больше ничего и не требовалось.

Познакомившись года четыре назад с Linux, я узнал, что, кроме загрузки первичных разделов (реальных или виртуальных), загружать можно и ядра операционных систем. Причём, этих уж может быть сколько угодно: существующее ограничение на количество первичных разделов значения, в данном случае, не имеет. Дальше - больше. Оказывается, существует спецификация множественной загрузки (multiboot specification), и если бы производители ОС её придерживались, то мультизагрузка могла бы стать функцией BIOS, например. Это, однако, - из области фантазий. Пока, во всяком случае.

Постепенно примкнув к лагерю сторонников ПО с открытым исходным кодом (и в соответствии с принципами этого лагеря), я несколько раз делился опытом на виртуальных страницах различных сайтов. И вот что интересно: больше всего вопросов задали мне в связи с моим вариантом описания мультизагрузчика GRUB (GRand Unified Bootloader). Причём спрашивали не собратья linux-оиды, а именно пользователи ОС от MicroSoft. К сожалению, мои советы по поводу использования GRUB помогали им не так уж часто. И не потому, что этот мультизагрузчик плох, отнюдь, а потому, что, кроме возможности загружать УЖЕ СУЩЕСТВУЮЩИЕ на винчестере ОС, уважаемым корреспондентам требовалась ещё и возможность создавать СОСУЩЕСТВУЮЩИЕ ОС от MicroSoft на одном и том же винчестере.
А вот это в прямые функции GRUB никак не входит. Сам же производитель такую возможность пользователям не предоставляет: ну, не могли они предположить такой удачи, чтобы для одного компьютера несколько ОС покупалось. Upgrade со скидкой - предположили, а две версии одной ОС, но разной, скажем, локализации - нет. Или просто две одинаковых: одну - сынишке-геймеру, другую - себе для работы...

Сожаление моё (а может - раздражение из-за необходимости повторять одну и ту же информацию, с каждым разом кажущуюся всё более банальной) постепенно достигло уровня, когда я решил предпринять ещё одну попытку разъяснения всем желающим возможности использования на одном IBM PC нескольких операционных систем производства MicroSoft. "Ещё одну", потому, что документация к любому мультизагрузчику предпринимает такую попытку в обязательном порядке, жаль только, мало, кто эту документацию читает, если судить по отзывам на эти самые мультизагрузчики. А "MicroSoft" потому, что ОС unix-клона и так предоставляют все необходимые для мультизагрузки средства, да и пользователи их, в большинстве своём, лучше представляют себе организацию данных на винчестере: и не обязательно из-за "повышенной" грамотности - по необходимости, быть может.

Итак, оставим в стороне multiboot specification и vmlinuz (традиционное название ядра Linux): просто добьёмся существования на одном винчестере двух-трёх "непритязательных" ОС: DOS, win'95 и win'98. Для решения этой задачи потребуются некоторые знания и инструментарий. И то и другое - в минимальном количестве. В стиле MicroSoft, так сказать. Дабы пользователь "не утомился".


Содержание раздела