DataLife Engine / Как заменить картинку-фон загрузочного меню мультизагрузочной флешки, сделанной в программе WinSetupFromUSB. Способ №3

Как заменить картинку-фон загрузочного меню мультизагрузочной флешки, сделанной в программе WinSetupFromUSB. Способ №3



Привет друзья! Меня зовут Виталий Владимирович. Прочитал недавно на вашем сайте http://remontcompa.ru статью читателя Андрея о создании картинки для фона загрузочного меню мультизагрузочной флешки, сделанной в программе WinSetupFromUSB. Скажу честно, описываемый в статье способ мне не понравился и я хочу предложить вам свой вариант создания такой фоновой картинки.

Как заменить картинку-фон загрузочного меню мультизагрузочной флешки, сделанной в программе WinSetupFromUSB. Способ №3


Я расскажу вам, как создавать GfxBoot тему по своему вкусу, то есть поменять фоновую картинку загрузки, цвета текста, курсора и т.д.
Файлы темы находятся в cpio-архиве и файл темы это бинарный файл, поэтому чтобы сделать какие либо изменения необходимо компилировать Gfxboot-тему заново из исходных файлов (кодов). Звучит очень страшно, но к счастью всё оказалось достаточно просто. Рассказывать буду подробно, с картинками, так что всё будет понятно.
Скачайте этот архив по ссылке http://greenflash.su/Files/gfxboot.zip и распакуйте его к примеру в корень диска 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. 
GIMP, если в нём сохранять изображение в jpeg при настройках по умолчанию, то получится как раз то, что надо (одно уточнение: программу надо скачать именно ту, которую надо устанавливать. Портативная версия выдаёт ошибку).
Я выбрал вот эту картинку:

Её первоначальное разрешение было 1680х1050, то есть разрешение моего монитора. Картинка для флешки должна иметь разрешение 1024х768 (или 800х600). Это ограничение связано с загрузчиком GRUB. Ну что ж, в фотошопе отрезаем лишнее (именно отрезаем, а не просто меняем разрешение, иначе изменятся пропорции) и приводим разрешение к 1024х768.  Как работать с фотошопом – это за рамками данной статьи, но поверьте – дело нескольких минут. После фотошопа картинка стала такой:

Смотрим её свойства:

Для картинки на флешку у неё очень хорошее качество. Я имею ввиду количество точек на дюйм. Чтобы вы не повторяли моих ошибок (я пробовал применить картинку в данном качестве – у меня ничего не получилось), сразу скажу, что количество точек на дюйм надо уменьшить, ну хотя бы до 200 точек на дюйм. Ухудшения качества на глаз почти незаметно. Но здесь есть один нюанс: количество точек на дюйм уменьшаем, но ширина и высота должны остаться неизменными, чтобы использовать весь размер экрана! В фотошопе такой фокус не пройдёт – уменьшаем количество точек на дюйм – уменьшаются и размеры. Но выход есть! Открываем эту картинку в GIMP'e, идём в "Изображение" --> "Размер изображения":

Ширину и высоту оставляем прежними, а разрешение по X и по Y уменьшаем до 200 и нажимаем "Изменить":

Сохраняем картинку. Смотрим её свойства:

Видим, что своего мы добились. Далее переименовываем его в back.jpg и копируем с заменой в папку gfxboot, которая у нес находится в корне диска (С:).
Теперь будем менять цвета элементов и позиции меню.
Для внесения остальных изменений мы будем редактировать конфигурационный файл gfxboot.cfg, изменяя некоторые из нижеперечисленных параметров:
boot_show (по умолчанию: 0)
Если поставить 1, отобразятся "Boot Options".
Grub4dos не использует эту опцию, так что лучше не отображать её.
xmenu_hide_current (по умолчанию: 0)
Поставим 1, Спрятать текущую выбранную позицию (можно не трогать).
menu_start_x, menu_start_y
Позиция Меню.

С помощью этих параметров можно перемещать блок текста в любую точку экрана. Я выбрал в результате экспериментов Х=50, Y=250. На этой картинке это выглядит более органично.
menu_max_entries (по умолчанию: 20)
Число пунктов загрузки. Если у вас больше чем 20 или вы уменьшите параметр, список будет работать с прокруткой. Я уменьшил до 15.

menu_bar_min_width
Минимальная длинна курсора.

menu_text_normal
Цвет текста пунктов загрузки, используйте RGB коды, например: 0xff002f. Это красный цвет.                                                                          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)
Распакуйте его и запустите msys.bat:

Если вы распаковали архив по адресу C:\, то пишите в консоли команду:
cd /c/gfxboot - это переместит действие в целевую папку (пробел только после cd и никаких двоеточий!).
Если вы распаковали исходные файлы в другое место, значит сочините свою команду, начинаться она будет с "cd" а остальное пишите по примеру - 
cd /буква диска/папка где лежат файлы
Жмём Enter
Затем вводим команду make и снова жмём Enter:

После этого находим в папке gfxboot файл message_en, это и есть новая GfxBoot тема. 
Можно переименовать файл, дать своё название и обязательно  пережать в GZ архив (это умеет делать архиватор 7z). Кликам по файлу правой кнопкой мыши, выбираем наш 7-Zip архиватор и в контекстном меню выбираем "Добавить к архиву…":

Выбираем формат архива gzip, обзываем его как нам надо и указываем место сохранения. Нажимаем ОК:

Полученный файл темы я помещаю, к примеру в папку Splash на флешке и в файле menu.lst прописываю вначале:

timeout=30  default 0                                                                                                                                                        gfxmenu (hd0,0)/Splash/Main.gz

!!! Чтобы Русские буквы отображалиcь корректно, сохраняйте *.lst файлы в формате UTF-8 (в Блокноте - Файл\Сохранить как.. и.т.д..)
Ну и вот результат:

Видим, что картинка в отличном качестве, приятно смотреть.
С уважением, Виталий Владимирович.
13-11-2017
Вернуться назад