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

         

Приступим!


Вот мы и "во всеоружии". Начали:

  • описание инсталляции ОС пропустим: разные они, да и не об этом речь. Замечу только, что первичный раздел для устанавливаемой ОС лучше готовить её же средствами: практически никаких шансов ошибиться. Поскольку, по мнению fdisk-a от MicroSoft (а именно он разбивает диск на разделы) первичный (primary) раздел может быть только один, то придётся с этим для начала согласиться. Размер раздела выберите минимально достаточным. Расширенный раздел можно пока не создавать;
  • убедившись в работоспособности первой инсталлированной системы, загрузимся с дискеты GRUB. Если дискета оригинальная, то Вы сразу попадёте в командный режим (на это укажет подсказка "grub>"), а если воспользовались моим предложением, то на экране появится меню загрузки. С меню разберёмся позднее, а для перехода в командный режим нужно нажать "с", о чём, кстати, напоминает и присутствующая на экране подсказка. Набираем: grub>root (<Tab> где <Tab> - подразумевает нажатие клавиши табуляции.
    В ответ на это вы получите варианты продолжения команды. Если у вас только один винчестер, то вариантов будет всего два: fd0 и hd0. Отмечаем: так называются и нумеруются (с нуля!) в GRUB дисковые устройства. Продолжим набор в соответствии с нашим планом: grub>root (hd0,<Tab> В ответ мы получим перечень разделов диска, выбор из которых возможен. Поскольку раздел у нас пока один, то и в перечне только одна позиция. Нажимаем <Esc>, поскольку продолжать команду не нужно: всё проделанное было нужно лишь для того, что бы, заставляя GRUB выполнять автозаполнение команды, "выудить" у него информацию о разделах. Что и достигнуто. Запоминаем (лучше - записываем), что первая ОС инсталлирована в разделе (hd0,0) (нотация - GRUB), и тип её - 00b, например (у Вас, разумеется, может быть другой). Переходим к следующему пункту;
  • "маскируем" первую систему командой: grub>parttype (hd0,0) 0xff

    Это уже нормальная команда и завершать её нужно вводом Enter.
    Если Вы ещё не догадались, то скажу, что таким образом мы поменяли байт-идентификатор типа файловой системы раздела на 0xff. С этого момента вполне нормальная система будет видеться всеми прочими, как нечто абсолютно чуждое (даже Xenix, которого все прочие будут полагать создателем этого раздела, посчитает её списком дефектных блоков);
  • инсталлируем следующую систему. Инсталлятор, конечно, обнаружит на диске некоторый "Non-DOS partition", но препятствием к инсталляции это не будет. Хорошо также и то, что инсталлируемая ОС никак не модифицирует чужой раздел: спасибо MicroSoft хоть за это. Все рекомендации аналогичны приведённым для первой инсталляции;
  • если Вам понравилось, то аналогичным образом Вы можете установить и третью систему, предварительно "замаскировав" вторую. А вот четвёртый раздел рекомендуется всё же сделать расширенным - пригодится. На этом этапе - самое время;
  • теперь разделы можно "демаскировать". Быть может, это и лишнее, но напомню, что делается это командой: grub>parttype (hd0,n) 0xNN где n - номер демаскируемого раздела, а 0xNN - действительный тип его файловой системы (я надеюсь, Вы ещё не потеряли бумажку с записями об этом). Нетрудно догадаться, что после "демаскирования" грузиться будет всегда система, инсталлированная последней. Большего от кода в MBR добиться не удастся: пора переходить к подготовке мультизагрузки;
  • у GRUB есть одно достоинство: меню допустимых загрузок и их алгоритмы хранятся в обычном текстовом файле. Это, безусловно, достоинство, поскольку позволяет изменять загрузку, модифицируя всего лишь один очень небольшой текстовый файл, но, как и многие достоинства, это тоже имеет свою "оборотную сторону". Состоит эта "сторона" в том, что этот самый файл должен находиться в разделе, файловую систему, которой умеет "читать" GRUB. Список читаемых файловых систем довольно обширен, да вот только NTFS в него не входит. Отсюда вывод: всё нужное для GRUB нужно размещать в разделе FAT.Надеюсь, хоть один такой у Вас имеется. Создаём в его корневом каталоге подкаталог boot/grub (не обращайте внимания на "косые": GRUB не обращает внимания на то, прямые они или обратные - и мы не будем) и переписываем в него файлы из аналогичного подкаталога дискеты. Заметьте, на котором из разделов находится этот подкаталог;
  • опять загружаемся с дискеты GRUB (хорошо, что времени на это требуется заметно меньше, чем для загрузки, скажем, DOS) и выполняем следующие команды: grub>root (hd0,n) grub>setup (hd0) где n - номер раздела, в котором находится подкаталог boot/grub.


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