Установка и начальная настройка загрузчика grub4dos.
2017-12-11 05:31:04

   Итак, продолжим.

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

    1) Мультизагрузка. Должно быть возможно с одной флешки установить, как Windows, так и Linux, а также была возможность загрузить Live-образы, дополнительные утилиты для проверки и т.д.

    2) Чтение iso-образов. Необходимо оставить возможность быстрого обновления файлов образов на более новые. Для этого лучше хранить файлы на USB-устройстве в виде не распакованных iso-образов. Кроме того, при таком подходе лишние файлы не будут замедлять работу флешки и создавать излишнюю путаницу.

    3) Дополнительные возможности. Сюда я выделил то, без чего можно обойтись, но, если все же удастся добиться, то будет неплохо: настройка пользовательских фоновых изображений в меню загрузчика и возможность использовать флешку по своему прямому назначению, в случае, если она достаточно велика по объему.

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

    Интерфейс утилиты grubinst_gui1) Для начала необходимо подготовить USB-устройство. Будем использовать файловую систему NTFS, так как iso-образы операционных систем могут быть больше 4Гб, а значит FAT32 нам не подойдет. После форматирования на чистой флешке создаем файл menu.lst. В нем будет описана структура меню загрузочного USB-устройства. Также потребуется сам загрузчик grub4dos, который можно скачать, например, тут (на момент написания статьи последняя версия 0.4.6a) или с зеркала. Из архива нам нужен только один файл grldr, все остальное можно удалить. Этот загрузчик необходимо установить в MBR. Для этого воспользуемся утилитой grubinst, которую можно взять отсюда или с зеркала. После распаковки архива, достаточно запустить grubinst_gui.exe, в появившемся окошке выбрать необходимое USB-устройство и нажать Install. Будьте предельно внимательны! Если выбрать неверное устройство, например, один из жесткий дисков, то можно лишиться всей информации на нем. Осталось только создать папку для хранения образов. Ее можно назвать как вздумается, но желательно покороче, на английском языке и без пробелов. В моем случае она названа menu.

    Таким образом после выполнения первого этапа на флешке будет следующая структура файлов:

	/menu/
	/menu.lst
	/grldr

    Интерфейс утилиты grub4dos USBВсе вышеописанные действия на этом шаге можно автоматизировать программой grub4dosUSB(SE). Она изменяет структуру раздела на MBR, позволяет выбрать в чем отформатировать флешку, создает все необходимые файлы, прописывает структуру меню, а также добавляет предустановленную тему для загрузчика и поддержку кириллицы. Однако, стоит учесть, что созданной структурой меню без редактирования воспользоваться не удастся, так как там довольно много ошибок синтаксиса. Но несомненно править уже готовое легче, чем писать все с нуля и для первого раза я настоятельно рекомендую эту утилиту.

    интерфейс программы WinContig2) Казалось бы, все уже подготовлено и уже можно напрямую заниматься копированием образов на USB-устройство, но есть еще одна тонкость. Для того, чтобы все образы читались загрузчиком и корректно выполнялись их необходимо в обязательном порядке дефрагментировать. Очень часто авторы репаков, а иногда и официальных релизов забывают это сделать и от этого могут появиться ошибки. В этом нам поможет утилита WinContig (зеркало). Она умеет быстро дефрагментировать iso-файлы без их распаковки на жесткий диск.

    3) Займемся структурой меню. Начальное меню загрузчика описано в файле menu.lst, который находится в корне USB-устройства. Если на этапе подготовки флешки использовалась утилита grub4dosUSB(SE), то в этом файле уже находится довольно много записей. Начнем по порядку:

	default 0

    Это строка, которую загрузчик выберет и запустит по умолчанию, по истечению времени таймаута. В моем примере оно не установлено, поэтому при загрузке просто будет выделена самая верхняя строка списка.

	font /menu/rus.gz

    Данная запись указывает на то, что загрузчик будет подгружать файл шрифтов по заданному пути. Если вы создаете флешку с нуля, без использования утилиты, для автоматической подготовки флешки, то необходимо дополнительно скачать из интернета файл с подходящим шрифтом. Иначе, любые буквы, кроме латиницы будут отображаться некорректно.

	color normal=0x0f highlight=0x0e helptext=0x0f heading=0x00 standard=0x0f border=0x00

    Настройка цветовой схемы загрузчика grub4dosВ данной строке настраивается цветовая схема загрузчика.

    normal - фон

    highlight - выделенный пункт меню

    helptext - текст подсказки

    heading - текст надписи с названием загрузчика

    standard - текст сообщений при загрузке пунктов меню grub4dos

    border - рамка

	graphicsmode -1 800

    Команда для установки разрешения экрана в загрузчике. Задает размеры экрана по осям X и Y. -1 означает, что для данной оси будет выбран лучший режим автоматически. В данном примере значение по оси X будет изменяться в зависимости от формата монитора, в то время как высота изображения в пикселах будет постоянной и равна 800.

	splashimage /menu/menu.gz

    Эта команда добавляет фоновое изображение загрузчика из указанного адреса. Следует учесть, что "любые" файлы для фонового изображения (впрочем, как и для файла шрифтов) не подойдут.

    Далее идет блок настройки пунктов меню. Если заранее точно известно, что пунктов будет ограниченное небольшое количество и добавлять их особо не придется, то лучше всего использовать обычные строки меню. Если же записей пунктов меню планируется больше 10, то рекомендуется использовать подменю, которые задаются отдельными файлами. В общем случае каждая строка меню имеет следующий вид:

	title текст_пункта_меню \n описание_пункта_меню

    \n в данном случае служит разделителем между пунктом меню и его описанием. Если после первого \n добавить еще один или несколько, то они будут служить обычным переводом строки. Сейчас этот пункт меню не обладает каким-либо функционалом, только строка текста. Добавим к ней переход в подменю:

	title текст_пункта_меню \n описание_пункта_меню
	configfile /menu/название_файла

    Данная строка загружает файл настроек, который лежит в заданном месте. Файл подменю может иметь любое название с разрешением .lst, например, win.lst, live.lst и т.д. Внутри файл подменю описывается точно так же, как и основной. Строки меню можно задавать как условные ссылки.

	iftitle [if exist /menu/название_файла] текст_пункта_меню \n \n \n описание_пункта_меню
	configfile /menu/название_файла

    Такие пункты меню добавляются, если на USB-устройстве в указанном месте находится соответствующий файл. Это может быть удобно, если планируется часто обновлять флешку и добавлять различные новые категории.

	title              
	clear

    Данные записи вставляют пустые строки между пунктами меню. Теперь добавим несколько вспомогательных пунктов:

	title Загрузка с жёсткого диска \n Загрузиться с диска C:
	find —set-root —ignore-floppies —ignore-cd /bootmgr || find —set-root —ignore-floppies —ignore-cd /ntldr
	map (hd0) (hd1)
	map (hd1) (hd0)
	map —hook
	rootnoverify (hd0)
	chainloader (hd0)+1

    Эти команды добавляют пункт загрузки основной системы. Он может пригодиться если USB-устройство было забыто в системном блоке, а по умолчанию первым пунктом стоит загрузка с флешки. Описание команд будет дано далее, в разделе про добавление образов Windows.

	title       Power Off \n \n \n                                  Выключение ПК.
	halt
	title       Reboot PC \n \n \n                                 Перезагрузка ПК.
	reboot

    Данные пункты очевидны сами по себе. Большое количество пробелов перед описанием пункта меню добавлено для форматирования текста. Если используется подменю, то должна быть предусмотрена возможность возврата в предыдущее меню на случай ошибочного выбора:

	title  пункт_подменю_возврата_в_основное_меню \n \n \n описание_подпункта 
	configfile /menu.lst

    Аналогичным образом можно составить трехступенчатую систему меню, если таковая вдруг понадобится. На этом первичная настройка загрузчика grub4dos заканчивается. В следующей главе перейдем к самому интересному: научимся добавлять образы на флешку и запускать их с помощью загрузчика.

    Чтоб доказать что Вы не робот причините вред человеку или своим бездействием допустите, чтоб ему был причинен вред решите сложнейший пример:
    3 + 6 =
    Регистрация