Увеличить
Спасибо piterpen и SerzhAntz за идеи скрещивания EasyBoot с BCDW.
Программа EasyBoot предназначена для создания красивых графических меню мультизагрузочных компакт-дисков. Скорость работы EasyBoot очень приличная, сопоставима с Bootable CD Wizard (подробнее о BCDW читайте в статье Создание мультизагрузочного диска на основе BCDW), передвижение по пунктам меню происходит быстро, а единственное, что не понравилось - это реактивность мыши (ее очень неудобно использовать).
В части создания графического бутменю программа понравилась гораздо больше чем CD-Shell. Можно использовать 4/8/16 битные картинки в формате BMP. Она также позволяет создавать как текстовое, так и графическое меню, ну и самое приятное что их можно комбинировать.
Принцип работы
Отрисовывается бэкграунд картинка и на нее накладываются разные элементы:
- Текстовые поля и поля слоев (можно создавать прямоугольные поля с определенным цветом фона и цветом шрифта)
- Пункты меню. Самый важный для нас элемент, позволяет создавать текстовые пункты меню, которые могут менять цвет своего фона и текста при выборе.
К сожалению, шрифт всего один и поменять его нельзя. Но есть обходной вариант - использование цветовой маски. С помощью нее можно использовать любой однотоновый текст или графический элемент фоновой картинки в качестве элемента меню (об этом напишу дальше).
Замечу что перевод программы сделан очень некачественно, смысл многих надписей теряется, поэтому я буду использовать в примерах английский интерфейс, добавляя в скобках значение из русского перевода.
Работа с программой
Запускаем EasyBoot. Первое, что мы видим после загрузки это одно из рабочих окон программы (закладку Файл) и окно предпросмотра (см. рисунок), на нём стрелками я отметил разные элементы, Слои создаются на закладке Layouts (закладка Размещение), Текст также на соответствующей вкладке, надпись EasyBoot, облака и зеленое поле являются картинкой заднего фона, Что же касается пунктов меню, то на них остановимся подробнее чуть ниже, они также настраиваются в соответствующей закладке - Меню.
Рассмотрим рабочие окна программы (здесь не будут рассматриваться все окна, ограничимся лишь закладками File (Файл), Menu (Меню) и Misc (Дополнительно), как наиболее важных, остальные окна, например, у меня не используются совсем; кроме того, там нет ничего сложного).
Закладка File (Файл)
На этой странице нам, прежде всего, нужно поменять фоновую картинку на свою (если, конечно, вы будете использовать фон).
Фоновая картинка, которая стоит по умолчанию после установки EasyBoot имеет 256 цветов. Я думаю, что большая часть не захочет ограничивать себя лишь 256 цветами, а поставит кол-во цветов на возможный максимум - т.е. 65 тыс. цветов. Для этого нужно зайти в Options (Опции) -> Configuration (Настройки) -> и выбрать Screen Mode (Экранный режим) - 64K color (16bits). Теперь можно поменять фоновую картинку. Для этого достаточно просто заменить back.bmp в папке EZBOOT или записать туда новый файл (например, myback.bmp), изменив в поле фон название файла back.bmp на myback.bmp (после этого back.bmp можно удалить). Для того чтобы обновить превью окно, нужно сохранить настройки (кнопка Save) и перезапустить программу.
Если вы не измените количество цветов, но замените картинку на свою с 65K цветов или наоборот замените кол-во цветов, но не поменяете дефолтную картинку, то при первом же запуске после этого EB ругнется, что количество цветов фоновой картинки не соответствует заявленным в настройках программы. В этом случае игнорируем сообщение, заходим в опции и выставляем нужное количество цветов. Перезапускаем EB, при этом сохранив конфиг при выходе.
На этом шаге желающие могут сразу переименовать папку EZBOOT в нечто более удобное или приятное вашему глазу, для этого достаточно выйти из программы и переименовать папку EZBOOT в любую другую (например, BOOT). Затем запустить EasyBoot снова и открыть файл проекта, нажав на кнопку Open (Открыть), уже из переименованной папки.
На всякий случай перед началом работы сделайте бэкап файла STANDARD.CDB из папки EZBOOT (это файл палитры, о нем поговорим позже), чтобы в случае чего можно было его восстановить. Здесь же можно изменить название файла проекта (файла меню, по умолчанию - cdmenu.ezb), нажав кнопку Save As (Сохранить как) и указав новое название. При следующем открытии программа автоматически запустит этот файл проекта (загружается последний файл, с которым вы работали перед выходом).
На этой странице также нам понадобятся кнопки Options (Опции) (о ней расскажу попозже), Make ISO (Создать ISO), Burn CD (Записать CD), последние две нужны для тех кто хочет собирать и записывать свои образы с помощью EasyBoot, на них останавливаться не буду т.к. там все просто, единственное что порекомендую - использовать опции Optimize (оптимизировать записываемые файлы путем записи повторяющихся файлов один раз, - актуально для записи нескольких вариантов windows на одном диске) и Hide Boot Folder (скрытие папки EZBOOT). Кнопки New, Open, Save, Save As в соответствии с названием создают новый, сохраняют или открывают файл меню *.EZB.
- File Dir (Каталог) - папка, в которой лежат ресурсы EasyBoot, обычно это папка находится в корневом каталоге Диска. В нашем случае в папке disk1 - лежит содержимое нашего будущего диска, а в EZBOOT - файлы нужные easyboot для создания меню.
- AutoOpen (Автооткрытие) - автоматическое открытие файла меню при запуске программы.
- Menu Type: Main Menu (Главное меню) | Sub Menu (подменю) - файл главного меню загружается при старте Диска, файл подменю загружается при выборе какого-либо пункта главного меню и отработки команды Run (например, "run xxx.bin")
- WaitTime (Задержка) - задержка перед запуском дефолтного пункта меню (по умолчанию 30 сек.). Во втором поле можно задать пароль на запуск дефолтного пункта меню.
- Logo Image (Лого) - файл ЛОГО который будет показан перед загрузкой главного меню в течении указанного в соседнем поле времени (по умолчанию 3 сек.)
- Background Image (Фон) - файл фона, именно на нем будут отражаться все наши графические элементы. Благодаря этому файлу наше меню будет красивым
- Menu Num (Номер меню) | Default Menu (меню по умолчанию) - заполняется автоматически исходя из количества пунктов на закладке Menu и номера того пункта, который будет являться дефолтным.
- Accelerate Key: Run Directly (Запустить сейчас) | Select (Выбор) - определяет будет ли при нажатии горячей клавиши сразу запущен пункт менгю ассоциированный с ней или будет происходить переход на этот пункт.
- Key transfer: To Lower (Вниз) | To Capital (вверх) | Disable (выключить) - определяет поведение нажатия клавиш на клавиатуре, т.е. в каком виде будет передавать в EasyBoot нажатие клавиши (в нижнем регистре, в верхнем или в том регистре в котором нажато).
- Preview Window: Show (Показать). Enable Edit (Выключить предпросмотр) - Показать превью бутменю. Разрешить редактирование.
Закладка Menu (Меню)
Каждому пункту меню соответствует несколько параметров: команда на запуск, текст, цвет текста и фона в активном и обычном состоянии, область выделения и быстрая кнопка.
- Current (Текущее) - номер текущего пункта меню
- Command (Команда) - команда, выполняемая при запуске данного пункта меню. Команды: run w2ksect.bin; run setup98.img; boot 80 (загрузка с hdd0); boot 0 (загрузка с FDD 3.5"); reboot
- Menu Text (Текст меню) - собственно текст пункта меню и если необходимо пароль
- Normal: Back | Fore (Нормальный вид: Фон | Текст) - текст и подложка в обычном состоянии
- Highlight: Back | Fore (При выделение: Фон | Текст) - подсветка текста и подложка в выделенном состоянии
- Acc.Key (Клавиша) - быстрая клавиша текущего пункта
- Cursor Key (Клавиша курсора) - поведение курсора при нажатии стрелок (0 - стандартное движение курсора, 99 - отключить, 1- перескочить на 1ый пункт меню, 2 - на 2ой, 3 - на 3ий и т.д.)
- Use Image Text (Горячая кнопка) Я бы назвал этот пункт Область выделения. Немного непривычно что сначала указываются координаты по оси Y а потом по оси X
- Upper Left: Row | Col (Коорд. от левого края: горизонталь | вертикаль) - верхний левый угол, по оси Y и по оси X
- Lower Right: Row | Col (Коорд. от правого края: горизонталь | вертикаль) - нижний правый угол, по оси Y и по оси X
Блок управляющих клавиш: append (добавить), insert (вставить), delete (удалить), set default (по умолчанию), up (вверх), down (вниз), undo (отмена).
Для того чтобы вручную не указывать координаты области выделения в соответствующих полях, гораздо проще пользоваться мышкой.
Для этого создадим элемент клавишей append или insert, после чего кликнув по нему левой кнопкой мыши выделим его, кликнув второй раз или нажав пробел, получаем возможность перемещать элемент, кликнув третий раз или опять нажав пробел, получаем возможность изменять размер. Чтобы закончить изменение и сохранить результат нужно кликнуть правой клавишей мыши по элементу или нажать Enter.
Полезные клавиши:
- [Esc] - отменить все изменения текущего объекта.
- [Tab] - перейти к следующему объекту.
- [Delete]- удалить выбранный объект.
- [BackSpace] - отменить последнее действие (история на 36 событий).
- Стрелки Курсора - движение объекта.
Курсор мыши при перемещении по пунктам готового бутменю всегда оказывается в центре области выделения текущего пункта.
Подробнее о цветовых масках
Предположим, что мне не нравится шрифт используемый программой, и поменять его у меня возможности нет, а я хочу в качестве пунктов использовать черный текст со своим шрифтом. Для этого создаем картинку с нужным текстом и шрифтом (у каждого пункта может быть разный шрифт или даже набор шрифтов) при этом текст, который будет выделяться, желательно сделать без сглаживания. Затем сохраняем картинку в формате BMP 16 бит и вставляем ее в качестве фона, как указано выше.
Теперь нам нужно создать области выделения (элементы меню) для каждого из графического элемента, т.е. сделать сопоставление. На рисунке показана созданная область для одного из пунктов моего бутменю. Такое сопоставление нужно сделать для каждого.
После этого можем приступать к настройке каждого конкретного элемента.
Во-первых для каждого пункта отмечаем Use Image Text (Горячая кнопка), во-вторых добавляем в палитру нужные цвета, для этого перейдем на закладку File (Файл) и там кликнем по кнопкe Options (Опции) | Settings (Настройки). Отметим использование 64К (16 бит) цветов. Выберем в палитре любой неиспользуемый цвет (например, светло-голубой), после чего нажимаем на кнопку с изображением пипетки, затем кликаем пипеткой на превью картинке в то место где находится цвет, который будет меняться при наведении на него мышкой или переходе на него (см. рисунок). Палитру можно сохранять в файл или подгружать из файла (по умолчанию файл палитры - STANDARD.CDB).
Теперь возвращаемся обратно на закладку меню, и для каждого элемента указываем цвет текста в нормальном состоянии (это именно тот цвет, который мы только что получили пипеткой). Цвет в выделенном состоянии ставим тот, который больше нравится (например, красный). Для того чтобы получить режим прозрачности подложки, цвет фона в выделенном и нормальном состоянии должен быть одинаковый (например, оба белого), в этом случае меняться будет только цвет текста. Как только мы выбрали цвет выделения, картинка превью меняется, текст становится выделенным, если этого не произошло, значит, вы что-то напутали.
Данную методу можно использовать не только для текста, а также для графических элементов или даже совмещать, если текст и графика имеет одинаковый цвет. На приведенном ниже рисунке, цвет маски - серый, цвет выделения - синий.
Закладка Misc (Дополнительно)
На этой закладке мы назначаем функциональные клавиши (отличаются от быстрых тем, что быстрые клавиши связаны с пунктами меню, а функц. - сразу запускают указанную команду, которой может и не быть в меню). Здесь же определяется, будет ли показываться счетчик обратного отсчета до запуска дефолтного пункта меню и прогрессбар этого счетчика. Элементы и принципы настроек такие же, как на предыдущих закладках.
Использование загрузчика от BCDW для работы с EasyBoot
Начиная с версии 5.08 EasyBoot официально использует возможность BCDW модуля, с помощью команды bcdw можно загружать образы .IMA/.IMG а также ISO образы. В версии 5.09 появилась возможность загрузки конфигурационных INI файлов от BCDW, а также возможность использовать относительные и полные пути. Таким образом, в EB появились именно те функции, которых ей так не хватало.
Теперь нет нужды использовать модифицированные модули bcdw с ini-файлами. Те кто работал с более ранними версиями EasyBoot, могут спокойно удалять эти модификации, также как и ini файлы, предварительно подправив командные строки на запуск.
Синтаксис команд достаточно прост: bcdw <путь до образа>.
Примеры:
- bcdw /I386/setupldr.bin - загрузка установщика Windows XP
- bcdw /ERDC/setupldr.bin - загрузка ERD Commander'а
- bcdw /Boot/IMG/Acronis/ti8ru.iso - загрузка Acronis TrueImage (путь может быть и такой - "bcdw /EZBOOT/ti8ru.iso")
- bcdw /Boot/IMG/setup98.img - загрузка дискеты восстановления от Win98 (можно запустить и так - "run /Boot/IMG/setup98.img")
- bcdw /BOOT/IMG/bcdw_cl.ima /BOOT/pm.bat - загрузка образа с передачей ему команды на запуск батника (в образе используется bcdw.com). Тоже самое можно сделать через ini-файл:
- bcdw /BOOT/IMG/partmag.ini- загрузка конфигурационного файла BCDW для загрузки Partition Magic'a
| ;partmag.ini [InitOptions] Font = \BOOT\RUSSIAN.F12 CharSet = \BOOT\CP1251R.CPF
[MenuItems] \BOOT\IMG\bcdw_cl.ima \BOOT\pm.bat
:: pm.bat @ECHO Loading Symantec Partition Magic v8.05 @ECHO OFF %BCDW_CDROM%: CD %BCDW_CDROM%:\BOOT\PMagic @ECHO ON mouse.com Pqmagic.exe /pqb=%RAMD%:\tmp.pqb :: Call EZBoot Menu @ezboot.com |
Наличие строчек инициализации шрифта и кодовой страницы (RUSSIAN.F12 и CP1251R.CPF), в общем-то, необязательны, но если при загрузке образа у вас не запускается русификатор, то весь русский текст будет отображаться кракозяблами.
Необходимо учитывать, что теперь EB проверяет наличие файла загрузчика (bin, iso, ima/img, ini-файлов) на диске при использовании команд run и bcdw. Eсли по указанному пути файла(ов) не существует, то при сохранении будет выдаваться ошибка, тем не менее файл проект cdmenu.ezb нормально сохранится.
Другие возможности
В последней версии EasyBoot появилась возможность вызова Меню выбора загрузки с помощью использования DOS-утилиты ezboot.com (необходимо будет добавить ее в образ), при этом подгружается файл вашего проекта. Работает только из DOS сессии. В опциях EB нужно выставить опцию Enable coming back from DOS (ezboot.com) - эта опция изменяет загрузчик EasyBoot (loader.bin).