Войти

Показать полную графическую версию : Графические CD бутмэнеджеры (EasyBoot и др.)


Страниц : [1] 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

piterpen
15-12-2005, 16:39
Руководство по работе с EasyBoot (http://oszone.net/display.php?id=3671) (автор - EgOrus)
Другие статьи о мультизагрузке (http://oszone.net/display.php?id=3290)
[hr]сабж, кому не понятно вдруг - софт с помощью которого можно создавать красивые графические менюшки для мультизагрузочных компактов ....
из мне известных - Easy Boot (http://www.ezbsystems.com/easyboot/) (актуальная сборка EasyBoot 5.0.6.472) и CD Shell (http://www.cdshell.org/)

вот примеры того чего можно добиться с помощью сабжа моя менюшка (http://chunk1.mylivepage.com/common/chunk1/6961/2/10/fymmenu1r.jpg) и EgoRus-ова менюшка (http://forum.oszone.net/attachment.php?attachmentid=1255)

вот всеминамиглубокоуважаемый тов. EgOrus привёл короткую, но весьма чёткую сравнительную характеристику первого по сравненю со вторым (извинте за тавтологию))))
EgOrus
EasyBoot(+)
1. возможность наложения текста на картинку (бэкграунд), в результате более скоростная отработка перемещений по вариантам меню (в CD-Shell кто еще не понял, абсолютно все элементы явл. картинками).
2. возможность использования мышки (при небольшом кол-ве пунктов меню, - имхо лишнее)
3. Возможность изменения цвета текста и подложки для активного и пассивного состояния пунктов меню.
4. Наглядный индикатор обратного отсчета до запуска дефолтного варианта, выполнене в виде прогрессбара.
5. Простота в использовании и настройки.

EasyBoot (-)
1. Отсутствие гибкого скриптового языка
2. Нет полноценных возможностей BCDW (можно этого добиться, но только после определенных действий описанных выше piterpen)
3. Отсутствие параллельного текстового режима, в случае отсутствия поддержки режима VESA вашей видеокартой (в CD-Shell можно заложить 2 варианта, - граф. кот. исполняется при наличии поддержки VESA и второй текстовый, кот. отрабатывается в случае ошибки с первым). К сведению: у 99% современных видеокарт эта функция есть.
4. Отсутствие возможности создания анимаций. В CD-Shell + bcdw есть возможность использовать анимированые gif'ы.
5. Отсутствие возможности использования "непрямоугольных рамок" для подсветки текущего пункта, т.е. что-то подобное тому что указано на моей картинке. Исправлено: Можно! На основе цветовых масок, их же можно использовать для "изменения шрифта".

от себя могу добавить как минус EasyBoot - стоит 30 баксов! ))))

а вот и метод для совмещения возможностей BCDW и красот EasyBoot
способ слегка геморный да при терпении прикольный, у тех кто работал с хекс редакторами не вызовет трудностей.....например хотим мы бутануть с исо акронис, а езибут загрузку с исо не поддерживает, пихаем в исо bcdw а сам загрузчик bcdw.bin слегка редактиреум в любом HEX редакторе (например в бесплатном xvi32 (http://www.chmaas.handshake.de/delphi/freeware/xvi32/xvi32.htm)).... то есть меняем в нем bcdw.ini (меню загрузки) на acro.ini и сохраняем как АСRO. bin в папку где всё файло от езибут (по умолчанию \EZBOOT ), а в этом самом acro.ini пишем \IMAGES\ACRONIS.ISO [Options] RootMenu=\BCDW\ACRO.INI и сохраняем его как видно из примера в папку \BCDW ...... а потом в езибут в нужном меню пишем команду run АСRO. bin, в этом примере ACRONIS.ISO как видно лежит в папке \IMAGES но это не имеет значения ложите куда хотите ....... езибут передаёт управление загрузчику от BCDW а он уже бутает всё что нам надо....... таким образом можно создать хоть сколько угодно загрузчиков прописав им разные ини-файлы, способ повторяю геморный да что не сделаешь ради графического меню и поддержки мышки в менюшке, и по моему проще чем использование CDSHELL для этой цели. ....

Debugger
15-12-2005, 19:25
piterpen

Из скриншотов меню не уяснил, а сам еще не проверил - меню EasyBoot поддерживает скроллинг?

ANDYru
15-12-2005, 21:00
piterpen
EasyBoot-ом пользуюсь давно (и стоимость его мне не мешает благо есть варез порталы) - считаю его самым удобным для не только написания удобного и нарядного бутменю но и полноценным инструментом для окончательной сборки имиджа и даже записи его на диск т.к. EasyBoot уже обладает этими и другими возможностями .
и Acronic прикрутить к нему как 2 пальца - кому надо обращайтесь

piterpen
15-12-2005, 21:28
Debby нет, не поддерживает .... по крайней мере я не умею .... но там можно делать подменю в которые можно втыкатьь всё что не влезет в главное начальное ...

ANDYru я ж не собирался тут вам америку открывать с велосипедом .... просто в теме про bcdw зашла такая мысль что б пора для альтернативных бутменеджеров тему создать, вот и создал ..... а вот про свой способ прикуртки софта расскажи если не в лом )))

ANDYru
16-12-2005, 11:40
piterpen
не в лом .. как скину на ШАРУ - дам ссылку и сделаю описание , могу тудаже и бут манагер положить для неимущих :)

vek
16-12-2005, 16:00
piterpen Не понял, а в чем сделана EgoRus-ова менюшка ? По-моему получилось симпатично.

piterpen
16-12-2005, 18:34
vek EasyBoot

garbals
17-12-2005, 01:37
piterpen выложи проект своего меню

GABRIEL_
17-12-2005, 16:13
piterpen выложите если не трудно свои менюшки на EasyBoot, и еще интересуют стандартные команды.

piterpen
17-12-2005, 17:42
garbalsGABRIEL_
http://rapidshare.de/files/9334193/FYBdemomenu.ISO.html
вот тут работающая демо исошка 2 метра, в неё та менюшка что на скрине

EgOrus
17-12-2005, 17:45
Обещанный мануал начал писать в поезде, т.к. являюсь счастливым обладателем КПК. Пожалуй самое сложное при создании графического бутменю это графическое оформление, для этого нужно чуть-чуть фантазии и немного уменеия работы с каким-нибудь граф.редактором. Это касается как CD-Shell так и EasyBoot.

CD-Shell
сдшелл позволяет использовать достаточно гибкий скриптовый язык похожий на используемый в batch-файлах, но гораздо более функциональный. Кроме того сдшелл является модульным, т.е. за счет различных модулей получает новый функционал (Например: memtest - утилита позволяющая тестировать память, rpm - partition manager и ряд других).
Для работы помимо самого CD-Shell'а потребуется также модуль к нему bcdw 2.0a1 (см.прикрепленный файл), кот. и привносит в CD-Shell все возможности обычного bcdw + такие возможности как отображение gif файлов, что очень полезно т.к. bmp-формат которым оперирует cdshell достаточно "тяжёлый", что напрямую влияет на скорость загрузки и работы уже готового меню.
Сд-шелл позволяет работать в 3х режимах: консольном - режим командной строки, в кот. можно выполнять скрипты и команды, текстовом меню - аналог меню bcdw и графическом. Для нас интересен прежде всего графический режим. Как я уже говорил ранее, в этом случае все элементы нашего меню будут явл.картинками (даже текст).
Перед началом работы необходимо поместить папку "boot" из архива с программой CD-Shell в корневой каталог вашего диска, затем из архива bcdw20a1, переписать содержимое папки "cdsh" в туже самую папку "boot" в корневом каталоге вашего будущего диска.
должно получиться примерно вот так (часть модулей можно спокойно поудалять, если они вам не нужны):
BOOTCD
.....+Boot\
.........+bcdwdemo\ - папка с ресурсами и исполнимым скриптом CD-Shell
..............bcdwdemo.cs
..............textmode.ini
..............item_a.gif
..............item_p.gif
..............item_07.gif
..............item_08.gif
..............item_06.gif
..............item_05.gif
..............item_04.gif
..............item_03.gif
..............item_02.gif
..............item_01.gif
.........+fonts\
.........+graphics\ - папка с ЛОГО картинками (csi - картинка 640x480)
..............splash.csi
..............splash.bmp
.........+keymaps\
.........+modules\
..............isolinux.csm
..............script.csm
..............basic.csm
..............boot.csm
..............diskemu.csm
..............extend.csm
..............history.csm
..............macro.csm
..............bcdw.csm
..........cdshell.ini - стартовый файл для запуска скрипта(ов)
..........cdsh.bin
..........loader.bin
.....+I386\
......win51ip.sp2
......bootfont.bin
......win51
......win51ip
Принцип работы следующий:
Загружается CD-Shell лоадер кот.прежде всего подгружает ЛОГО-картинку, если она существует в папке graphics. CD-Shell умеет работать с 2мя типами файлов - splash.csi (640х480 32бита), к CD-Shell прилагается утилита кот. конвертит bmp в csi и splash.bmp (320x240 8бит).
Затем если есть файл cdshell.ini, лоадер выполняет команды указанные в нем, в нашем случае это команда на запуск скрипта bcdwdemo.cs
А уже скрипт подгружает нужные картинки и отслеживает нажатия клавишь и др. действия.
Для нас на первых порах интересны как раз именно эти файлы cdshell.ini и bcdwdemo.cs
cdshell.inicd bcdwdemo
script bcdwdemo.csСлегка модифицированный скрипт bcdwdemo.cs
Ненужно пугаться обилия незнакомых команд (да и так уж они незнакомы?). Для нас важны всего 3 блока в данном файле:
1. собственно блок выполнения команд при запуске какого-либо пункта меню (т.е. что происходит после нажатия ENTER на каком-нибудь из пунктов меню)
состоит из следующих возможных команд
i01_go: - метка перехода (аналогична меткам в batch-файлах)
bcdw SetTextVideoMode - загрузка шрифта по умолчнанию
show console - переход в консольный режим
print "\n" - вывод пустой строчки (аналог echo. в batch-файлах)
print "Boot from hard disk...\n" - вывод текста и перевод каретки на след. строку
bcdw Boot C:\ - загрузка с диска C:
goto ixx_go_err - переход на метку ixx_go_err:, в случае ошибки загрузки с Диска С:

Возможные bcdw команды:
bcdw Dialog "bcdw_ini_filename" - загрузка меню bcdw
bcdw Boot img_filename (or boot command) - загрузка img-образа или команда на загрузку с дискетки A: или жесткого диска C: D: ...
bcdw SetGraphicsVideoMode 640 480 32 - установка разрешения экрана в 640х480 32 бит (разрешения могут самые разл. помните что не все они поддерживаются вашей карточкой, и также высокие разрешения будут медленны в рбаоте)
bcdw ShowGif filename 0 0 WaitKey - отобразить гиф-файл в позиции 0 - по оси X и 0 - по оси Y, после чего скрипт ожидает нажатия клавиши от пользователя (NoWait - не ждет)
bcdw ShowGif filename center center 30 - отобразить гиф-файл по центру экрана и подождать 30 сек, затем продолжить скрипт
bcdw SetTextVideoMode font_filename - переход в консольный режим и загрузка указанного шрифта из файла
bcdw CheckForBcdw - проверить явл. ли текущий диск диском с BCDW
bcdw FindBootableCDLetter - найти букву диска
bcdw Reboot - презагрузка
bcdw PowerOff - выключение
Команды по любому модулю можно получить путем загрузки CD-Shell'а в консольном режиме и выполнением команды например help bcdw (в коснсольном режиме можно загрузить зажав клав. CTRL при загрузки граф. бутменю или удалив наш файл cdshell.ini)

2. Блок загрузки картинки(ок) бутменю (координаты по X и Y)
bcdw ShowGif item_01.gif 0 0
bcdw ShowGif item_02.gif 0 55
bcdw ShowGif item_03.gif 0 110
bcdw ShowGif item_04.gif 0 165
bcdw ShowGif item_05.gif 0 220
bcdw ShowGif item_06.gif 0 275
bcdw ShowGif item_07.gif 0 330
bcdw ShowGif item_08.gif 0 385

3. Блок отработки действий при нажатиях заданных клавиш
i01_active: - метка перехода
bcdw ShowGif item_a.gif 0 0 WaitKey - загрузка картинки селектора (рамки) в активном состоянии, т.е. на картинку кот. была загружена в блоке 2 накладывается картинка селектора,
i01_autorun:
bcdw ShowGif item_p.gif 0 0 - загрузка картинки кот. отображается на месте селектора при смещении самого селектора на др. пункт (восстанавливает оригинальный вид картинки)
if $BCDW_LastKey == key[up]; then goto i08_active - при нажатии клавиши вверх, происходит переход на пункт № 8 (на метку i08_active), т.е. на посл. пункт бутменю
if $BCDW_LastKey == key[down]; then goto i02_active - при нажатии клавиши вниз, происходит переход на пункт № 2 (на метку i02_active), т.е. на сдвигаемся на 1 пункт ниже текущего
if $BCDW_LastKey == key[enter]; then goto i01_go - при нажатии клавиши ENTER, выполняем команды нужные для запуска данного пункта (переходим на метку i01_go)
Call FKeys - переход на метку Fkeys, где происходит проверка не были ли нажаты клавиши F1-F8 или клавиша ESC, в случае если условие подтверждается выполняются переход на нужный пункт из блока 1 и отрабатываются нужные команды.
return - возврат в текущее положение скрипта после выполнения всех Команд из FKeys
goto i01_active - если были нажаты не заданные клавиши то переходим в начало данного блока и выполняем все по новой.

Скрипт сперва проверяет доступность режима VESA вашей видеокарты, если все ок, то начинается отрисовка графики бутменю (в моём случае это 1 картинка, в случ.примера реаниматолога неск-ко - каждая из которых явл.пунктом меню. Считаю что использование одной картнки предпочтительней с точки зрения оптимизации общего объема). При отрисовке картинки задаётся её левый верхний угол.
После этого происходит отрисовка картинки селектора (рамка выбора отдельного пункта) на дефолтном пункте и с заданным таймаутом.
Необходимо помнить, что селектор накладывается оверлэйем (т.е. Перекрывает картинку кот.лежит под ней), и после сдвига селектора на др.пукт вверх или вниз нужно восстановить оригинальный вид исходной картинки, для этого на масто селектора накладывается еще одна катинка. Достаточно коряво неправдали? Жизнь облегчается тем что модуль bcdw позволяет использовать прозрачные гифы.

На самом деле сам процесс настройки программы очень прост, достаточно посмотреть пример от реаниматолога и слегка подпраивть его под свое меню.

Особое внимание советую уделять оптимизации готовой картинки (кто использует фотошоп испоьзуйте пункт save for web - чтобы добиться оптимального соотношение кач/размер картинки). Объем файла не должен превышать 100 кб. Иначе возможен сбой с сообщ. О нехватке основной памяти.
В качестве селектора можно использовать анимационные гифы.
Если ваше картинка с бутменю занимает не полностью весь экрна, то желательно использовать хотя бы одноцветное лого, иначе на заднем фоне, незанятым картинкой возможно будет видно команды консоли.

P.S. Это пока основа, я думаю со временем я ее расширю и внесу еще некоторые пояснения и уточнения.

ANDYru
18-12-2005, 11:16
как и обещал - EasyBoot - мой вариант + исходники смотреть здесь _http://rapidshare.de/users/WP1G (pass:andy) в папке инструментов

Fanzuga
18-12-2005, 20:39
ANDYru
А нельзя ли исходник меню, выложить отдельно от самой программы, а то трафф не резиновый....
Заранее благодарен.

EgOrus
19-12-2005, 00:28
Готов черновик статьи о EasyBoot, если кто-то готов что-то добавить буду только рад.
Открытым текстом разместить не получилось слишком большой объем текста. надеюсь что после полного завершения Vadikan выложит ее на сайт.

GABRIEL_
19-12-2005, 02:28
По EasyBoot могу добавить только, то что если вы хоть немного знакомы с английским, то лучше использовать англоязычный интерфейс. Потому как на русский он переведен отвратительно.
А за FAQ, спасибо от лица всех начинающих. Будем изучать

Vadikan
19-12-2005, 02:33
EgOrus
Я позволил себе переименовать имя html файла :) Статья доступна для онлайн просмотра тут (http://oszone.net/display.php?id=3671).

Vovanchik
19-12-2005, 03:01
хорошо написал...
осталось тока разбудить в себе дизайнера и переписать все менюшки..

кстати чего там насчет вложений?
насколько сложно и обьемно (в плане мегабайт :)) ) это реализуется..

а то я привык уже к древовидности своей менюшки... да и нельзя по другому такое количество пунктов реализовать красиво.

piterpen
19-12-2005, 13:18
Vovanchik если использовать тот же бэкграунд-рисунок то где-то 23 килобайта каждая страничка будет

EgOrus
19-12-2005, 15:46
piterpen
тут на досуге поковырлся с загрузчиками, не понял зачем у тебя в ini файле строчки [Options] и RootMenu=\BCDW\ACRO.INI, на мой взгляд они совсем не нужны.
Загрузчик по умолчанию ищет файл настроек в папке bcdw\bcdw.ini, а т.к. мы с помощью hex-редактора меняем в файле bcdw.bin, bcdw.ini на acro.ini, то загрузчик сразу находит нужный файл acro.ini, и параметр RootMenu уже не нужен. Достаточно закинуть в папку "bcdw" ini-файлы наших загрузок, а в "EZBOOT" измененные лоадеры.

bcdw\
...acro.ini
...xpun.ini
ezboot\
...BACK.B15
...loader.bin
...acro.bin
...xpun.bin
...BACK.BM2
...BACK.BMP
...STANDARD.CTB
...CDMENU.EZB
IMAGES\ACRONIS.ISO
I386\acro.ini\IMAGES\ACRONIS.ISOxpun.ini\I386\SETUPLDR.BIN

piterpen
19-12-2005, 17:39
EgOrus дык ты прав ..... и правда не нужны ....... это я по инерции не стёр ..... а SETUPLDR.BIN зачем так грузить если к нему готовый загрузчик от самого дистрибутива можно прописать ..... ну это сути конечно никак не меняет просто лишнее времяубийство ....




© OSzone.net 2001-2012