GfxBoot тема это новое графическое оформление меню загрузчика Grub4Dos (и не только), которое пришло на смену Splashimage. Для корректной его работы требуется версия Grub4Dos не ниже 0.4.4 Оно выглядит гораздо приятнее, т.к теперь можно в качестве фона использовать полноцветное изображение.
Все описанные действие производились в Win XP
Здесь мы расскажем как создавать GfxBoot тему по своему вкусу, т.е как поменять фоновую картинку загрузки, цвета текста, курсора и.т.д.
Файлы темы находятся в cpio-архиве и файл темы это бинарный файл, поэтому чтобы сделать какие либо изменения необходимо компилировать Gfxboot-тему заново из исходных файлов (кодов)
Вкратце опишем один из вариантов с использованием исходников gfxboot-3.3-custom. (2.4 Mb)
Скачайте этот архив и распакуйте его, ну например в корень диска C:\ (для удобства)
Заглянув внутрь вы увидите множество файлов, первым делом нас интересуют файлы gfxboot.cfg и back.jpg
Подсовываем своё изображение
Файл back.jpg это изображение в формате 1024х768х24b jpeg 1.1. Изображение можно заменить на какое вам угодно, переименовав его в back.jpg и поместив в папку с исходными файлами (с заменой старого естественно) Не забудьте, что формат должен быть jpeg 1.1, а не 2.0 или Прогрессивный.
Сохранить фото в jpeg 1.1 можно с помощю GIMP 2.6.6 и ACD See 3.2 (или выше)
GIMP, если в нём сохранять изображение в jpeg при настройках по умолчанию, то получится как раз то что надо.
ACD See, если щёлкнуть правой клавишей по картинке и из контекстного меню выбрать пункт "Конвертировать" отметив пункт JPG можно переконвертировать изображение и оно будет после этого пригодно для использования.
Меняем цвета элементов и позицию меню
Для внесения остальных изменений мы будем редактировать файл gfxboot.cfg, изменяя некоторые из нижеперечисленных параметров:
boot_show (по умолчанию: 0) Если поставить 1, отобразятся "Boot Options". Grub4dos не использует эту опцию, так что лучше не отображать её.
xmenu_hide_current (по умолчанию: 0) Поставим 1, Спрятать текущую выбранную позицию (можно не трогать).
menu_start_x, menu_start_y Позиция Меню. Если мы укажем после этих обоих пунктов =150, то блок с пунктами меню загрузки уползёт от верхнего левого края экрана так как это показано ниже на картинке:
С помощью этих параметров можно перемещать блок текста в любую точку экрана.
menu_max_entries (по умолчанию: 20) Число пунктов загрузки. Если у вас больше чем 20 или вы уменьшите параметр, список будет работать с прокруткой.
menu_bar_min_width Минимальная длинна курсора.
menu_text_normal Цвет текста пунктов загрузки, используйте RGB коды, например: 0xffffff.
RGB коды можно сгенерировать в GIMPе:
Это фрагмент окна программы, выбираем цвет и внизу отображается код.
menu_text_select Цвет выбранного курсором текста
boot_text_options Цвет курсора в дополнительных опциях загрузки
boot_text_normal Цвет текста опций загрузки
infobox_bg Фон информационного поля
infobox_text_normal Цвет текста информационного поля
menu_bar_color Цвет курсора
hide_reboot (по умолчанию: 0) Поставим 1, исчезнет кнопка перезагрузки (F9)
hide_poweroff (по умолчанию: 0) Поставим 1, исчезнет кнопка poweroff (F10)
disable_num_key (по умолчанию: 0) Эта опция позволяет выбирать пункты загрузки нажатием соответствующей клавиши, например нажав "1" вы выберите первый пункт загрузки. Если вам это не надо, смело ставьте 1.
hide_help (по умолчанию: 0) Поставим 1, останемся без возможности вызова помощи (F1) вполне можно пережить
hide_lang (по умолчанию: 0) Ставим 1, прячем кнопку выбора языка (F2)
custom_width, custom_height, custom_depth По умолчанию разрешение картинки 800x600x16, если хочется сделать картинку больше,
делаем так как на примере: custom_width=1024 custom_height=768 custom_depth=16 Выбранные параметры должны поддерживаться BIOS-ом.
panel_normal Цвет Заголовков в Помощи и самого пункта help
panel_title Цвет текста отображения функциональных клавиш (Fn)
Собираем и устанавливаем
Теперь, когда заменена картинка и сделаны все настройки в конфигурационном файле, нужно скомпилировать (собрать) файл-тему. Для этого используем пакет msys. (28.9 Mb)
Распакуйте его и запустите программу Console.exe. Если вы распаковали архив по адресу C:\, то пишите в консоли команду cd /c/GfxBoot - это переместит действие в целевую папку. Если вы распаковали исходные файлы в другое место, значит сочините свою команду, начинаться она будет с "cd" а остальное пишите по примеру - cd /буква диска/папка/где лежат файлы Жмём Enter Затем вводим команду make и снова жмём Enter.
После этого находим в папке GfxBoot появившийся файл message_en, это и есть новая GfxBoot тема. Можно переименовать файл, дать своё название и по желанию пережать в GZ архив (это умеет делать архиватор 7z)
Чтобы добавить GfxBoot тему на флешку, помещаем полученный файл (на флешку) по адресу /Boot/gfx
в файле Menu.lst (вверху) делаем запись -
gfxmenu (hd0,0)/Boot/gfx/название темы.gz
!!! Чтобы корректно работал Таймер, располагайте строку тайм аута выше строки запуска темы, вот так:
!!! Чтобы Русские буквы отображалиcь корректно, сохраняйте *.lst файлы в формате UTF-8 (в Блокноте - Файл\Сохранить как.. и.т.д..)
Большое спасибо всем кто работал над изучением GfxBoot тем и делился своими знаниями на форуме в темах - Темыgfxboot и Русский шрифт в Grub4Dos
Дополнение
Представляем вашему вниманию исходники gfxboot от Alser
Эти исходники оптимизированы с целью уменьшения "веса" готовой темы.
Удалены следующие вещи:
1. Всё, имеющее отношение только к загрузке с
установочного диска OpenSUSE. 2. Опции загрузки, помощь по F1, выбор языка по
F2, перезагрузка и выключение по F9 и F10. 3. Локализации. 4. Файлы
сообщений, надписей на кнопках. Т. к. остаётся только одно диалоговое окно
перехода в текстовый загрузчик, то тексты этого сообщения и 2 кнопок внесены
непосредственно в код (естественно, на русском языке). 5.
Пингвины. Незначительно изменён таймер.
О, Молодца... так толково всё оформил, не поленился... и в приниципе, Всё выдрал с форума... вот только о прокрутке в меню, вроде-бы есть параметр, который эту фишку включает и выключает... так-то что это может быть отключено... правда влом сейчас искать где это именно было...на форуме я писал уже...
Хм вопрос... а вот енто gfxboot-branding-upstream-4.1.30-1.2.x86_64.html gfxboot upstream theme не то-же что у Вас тут? просто версия более так сказать новее?
И ещё вопросик, а если моник НЕ поддерживает такое разрешение, что будет? Груб перейдёт в текстовый режим с крякозябрами?
penguin Пингвины 0-отключены 100-включены welcomeприветствие 0-отключен 1-включен для приветствия требуются дополнительные файлы grad1.jpg, grad2.jpg, w1.jpg, w2.jpg, w3.jpg, w4.jpg, w5.jpg, w6.jpg, welcome.jpg добавить можно если используя MSYS : найти в папке gfxboot-3.3-custom файл Makefile открыть блонотом и найти строку PIC_COMMON и добавить их в список и разкоментировать в boot.config эту опцию вот набрел в инете на маленькую утилитку Color ее единственая функция генерировать коды цвета
У меня win7 x64. Console.exe запускается, но при этом не видно ни одного символа. Кто-нибудь сталкивался с этим? Как лечить? Можно сделать так в меню View выбрать console windows. Откроется еще одно окно, в котором символы уже будут видны. Но все-таки это как-то не кошерно.
Спасибо,после получасового мучения я сделал свою тему. Всем на заметку,когда сохраняете через GIMP и вам предлагают выбрать качество то НЕ НАДО ставить 100% . Ставьте 80-85 %(прога сама ставит). Я ставил 100% и у меня не грузилась gfxboot тема
За мануал спасибо огромное, но вот есть такая вот проблема - при установке любой gfx-темы, все вроде бы нормально, но вот не работает таймер! Изучение timeout пока положительных результатов не дал (моск взрывается). Помогите чем можете! Заранее благодарю!
Насчёт таймера тоже какбы втупил почему не работал... Методом научных проб и экспериментов выяснил - команда timeout должна стоять ДО команды gfxmenu. Просто тут в каком-то примере наоборот.
Хм вопрос... а вот енто gfxboot-branding-upstream-4.1.30-1.2.x86_64.html gfxboot upstream theme не то-же что у Вас тут? просто версия более так сказать новее?
gfxboot-branding-upstream-4.1.30-1.2.x86_64.html gfxboot upstream theme не то-же что у Вас тут? просто версия более так сказать новее? это новая версия но лучше 3.3 или ниже версия меньше мусора
См. по положению таймера тут: http://greenflash.su/forum/2-173-4402-16-1254115358 о работе таймера тут: http://greenflash.su/forum/2-173-4324-16-1253187567 А в сборке gfxboot-3.3-custom таймера(цифр) нет.
Я там посмотрел и ничего не понял. Я все сдалал как написано в етой статье "Изготовление GfxBoot темы" Скачал "gfxboot-3.3-custom" и программу "msys" все распаковал как написано, в папке "gfxboot" поменя файл back.jpg на свой и запусти программу "msys", после етого появился фай "message_en" как и было сказано, потом бросил на влешку в папку "Boot\Splash\" и прописал в "menu.lst" путь к файлу "message_en". Запустил виртуалку WinSetupFromUSB, заработал файл back.jpg который поменял, и размери 800x600x16 самого меню которые выставил. Но проблема в том что таймер отсчота времени какойто непонятный нетакой как в остальных темах которые есть на сайте, он висит справа возле надписи Start Windows XP from Hdd 0 Part 0 и в папке "gfxboot" рисунок не "head_a.jpg" с подложкой "head.jpg", а какойто "timer_a.jpg" и чтобы ето все поменять на нормальный как в остальных "head_a.jpg" и "head.jpg" незнаю как его передвинуть и незнаю как ето сделать и в каком файле
возьми мой конструктор, там расположение таймера выставляется в gfxboot.cfg никуда больше лезть не надо: head_x, head_y - позиция таймера timeout_time_x, timeout_time_y - позиция строки отсчитывающей секунды timeout_text_color - цвет букв таймера выложил сюда: _http://narod.ru/disk/13593662000/Menu.rar.html
В указанных дистрибутивах gfxboot большая часть кода нужна только для загрузочного CD, для которого они сделаны. Плюс к тому часть кода относится для использования мало кому нужных опций: опции загрузки, помощь по F1, выбор языка по F2, перезагрузка и выключение по F9 и F10 (кому это надо, можно реализовать как пункты меню). Плюс во многих дистрибутивах при компиляции более половины объёма результирующего файла - результат включения картинок и кода для пингвинов, независимо от того, включены они в gfxboot.cfg, или нет. Вопрос: никто не делал сборку с удалением этих функций, чтобы осталось только основное: само меню и таймер?
Пытаюсь собрать тему ничего не меняя в настройках от Alser и вот что вижу
Code
Demon@BSA04 ~ $ cd /d/DemonSKED/BOOT/GRUB4DOS/Alser_gfxboot/
Demon@BSA04 /d/DemonSKED/BOOT/GRUB4DOS/Alser_gfxboot $ make Including "system.inc" Including "timeout.inc" Including "common.inc" Including "window.inc" Including "button.inc" Including "main.inc" Undefined words: я╗┐%, - make: *** [gfxboot] Error 10
root@ROOT-ÏÊ /d/cd/boot/Alser_gfxboot $ make Including "system.inc" Including "timeout.inc" Including "common.inc" Including "window.inc" Including "button.inc" Including "main.inc" Undefined words: %, - make: *** [gfxboot] Error 10
В очередной раз пытаюсь собрать на вин 7. Все таже проблема. Не собирается. Падает с ошибкой.
Code
root@DEMON-PC ~ $ cd /d/cd/BOOT/GFX/Alser_gfxboot/
root@DEMON-PC /d/cd/BOOT/GFX/Alser_gfxboot $ make Including "system.inc" Including "timeout.inc" Including "common.inc" Including "window.inc" Including "button.inc" Including "main.inc" Undefined words: я╗┐%, - make: *** [gfxboot] Error 10
Под Windows 7 действительно выдаётся ошибка. Виноват в этом, видимо, MSYS, который почему-то под W7 "забыл", что такое сингатура UTF-8, и пишет, что это неопределённое слово. А в WinXP "помнил". Ну да ладно, решается это просто: следует удалить сингатуру UTF-8 (первые 3 байта файла: 0xEF, 0xBB, 0xBF) из файлов common.inc, button.inc и timeout.inc (эти файлы имёют кодировку UTF-8, т. к. содержат русский текст). P. S. В блокноте удалить не удасться, т. к. он не покажет эти байты. Я использовал встроенный редактор Volkov Commander, он, естественно, "не знаком" c UTF-8, поэтому показывает все байты. Можно использовать любой HEX-редактор.
народ помогайте разобраться.. не компилитсо оно, ошибка и всё.. пинзес насяльника 8( подсовывал и имидж 1024х768х24 и 1024x768x16 и 800х600х16 не пойму где ощибканама make: *** [gfxboot] Error 10
У меня не в консоле ниче не пишет, только когда открою аторую консоль тогда открывает, и еще он пишет sh: cd/c/gfxboot: No such file or directory ПОМОГИТЕ ПЛИЗЗЗЗЗЗЗЗ
Спасибо, все работает, есть три "но": 1. "Полоса прокрутки" должна быть видна где то сбоку например? А то и непонятно, что можно вниз еще двигаться 2. В варианте со splash такая строка
root title Eset NOD32 антивирус root
была как заголовок, и она "проскакивалась", а в gfxboot я могу на нее встать, это как-то обходится? 3. в том же варианте со splash можно было добавить описание:
title --> Eset NOD32 Rescue Disk \nRun Eset NOD32 Rescue Disc
которое было видно внизу экрана, в gfxboot их нет, лечится как-то?
Я тут подчистил gfxboot, выкинув оттуда больше половины всего, немного изменил таймер. Может, кому интересно?
ОЧЕНЬ!!! Планирую перевод @DED-LEGO@ на базу gfxboot-3.3. В связи с чем, давно собирался конкретно почистить исходники и даже провел кое-какую работу. Затем остановился с мыслью. Не потеряется ли функциональность или, еще хуже, работоспособность под Linux-ом? В этой связи вопрос. Проверяли ли Вы работоспособность своего варианта под Linux-ом? Хочу взять Ваш вариант gfxboot-3.3 как базовый.
Что значит "под Linux-ом"? Тема работает с загрузчиком grub4dos, который запускается до операционной системы, и, соответственно, работает не под Windows-ом, Linux-ом или чем-то ещё, а сам.
По тексту inc-файлов, видно, что изначально gfxboot разрабатывался для инсталляционных дисков Linux-a, плюс на UBUNT-е форуме я вижу, что народ время от времени кивает, что, дескать "эта тема кривая - бери ту", т.е. не все гладко например с установкой gfxboot вкупе с GRUB-ом. (см. http://forum.ubuntu.ru/index.php?board=18.0 ) Вот и интересуюсь, а не обрежем ли мы какие-нибудь костыли для Linux-оидов?