Программа для создания gfx тем. Создание загрузочной флешки GRUB4DOS с помощью grubinst


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

Файлы темы находятся в cpio-архиве и файл темы это бинарный файл, поэтому чтобы сделать какие либо изменения необходимо компилировать Gfxboot-тему заново из исходных файлов (кодов). Звучит очень страшно, но к счастью всё оказалось достаточно просто. Рассказывать буду подробно, с картинками, так что всё будет понятно.

Заглянув внутрь вы увидите множество файлов, первым делом нас интересуют файлы 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 и нажимаем "Изменить":

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

Теперь будем менять цвета элементов и позиции меню.

Для внесения остальных изменений мы будем редактировать конфигурационный файл 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

Выбранные параметры должны поддерживаться BIOS-ом.

panel_normal

Цвет Заголовков в Помощи и самого пункта help

panel_title

Цвет текста отображения функциональных клавиш (Fn)

Ну вот, теперь, после проделанной работы, собираем и устанавливаем файл нашей темы.

Теперь, когда заменена картинка и сделаны все настройки в конфигурационном файле, нужно скомпилировать (собрать) файл-тему.

Распакуйте его и запустите msys.bat :

Если вы распаковали архив по адресу C:\, то пишите в консоли команду:

cd /c/gfxboot - это переместит действие в целевую папку (пробел только после cd и никаких двоеточий!).

Если вы распаковали исходные файлы в другое место, значит сочините свою команду, начинаться она будет с "cd" а остальное пишите по примеру -

cd /буква диска/папка где лежат файлы

Затем вводим команду make и снова жмём Enter:

После этого находим в папке gfxboot файл message_en, это и есть новая GfxBoot тема.

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




Здесь всё просто:
1. Скачиваем unifont.hex.gz


graphicsmode -1 640:480
font /unifont.hex.gz

timeout 30
default 0
graphicsmode -1 640:480

font /unifont.hex.gz

title Memtest86+ 4.20
map --mem /MEMTEST.IMG (fd0)
map --hook
chainloader (fd0)+1
rootnoverify (fd0)
map --floppies=1
boot

title Victoria 3.52 DOS

map --hook
chainloader (fd0)+1
rootnoverify (fd0)
map --floppies=1
boot



map () (hd0)
map (hd0) ()
map --rehook
find --set-root --ignore-floppies --ignore-cd /ntldr
chainloader /ntldr



map () (hd0)
map (hd0) ()
map --rehook
find --set-root --ignore-floppies --ignore-cd /bootmgr
chainloader /bootmgr

title Выключение ПК
halt





Использование тем Gfxboot.

При копировании статьи просьба указывать и автора.
С уважением, GRomR1.

Загрузочная флешка у нас есть. Как добавлять на нее программы мы научились. А как же украсить теперь её? Предлагаю добавить поддержку русского языка, и тем Gfxboot.


Поддержка русского языка в Grub4Dos.

Здесь всё просто:
1. Скачиваем unifont.hex.gz
2. Кидаем его в корень флешки (можно не в корень, но надо будет изменить путь)
3. Пишем в самое начало menu.lst:

graphicsmode -1 640:480
font /unifont.hex.gz
4. Переименовываем заголовки нашего меню.
5. Получаем следующее (я еще добавил команду автоматического выбора 1 пункта через 30 секунд):
timeout 30
default 0
graphicsmode -1 640:480
#можно поэкспериментировать с 640:480, т.е. поменять на другое значение, и посмотреть что получится
font /unifont.hex.gz

title Memtest86+ 4.20
map --mem /MEMTEST.IMG (fd0)
map --hook
chainloader (fd0)+1
rootnoverify (fd0)
map --floppies=1
boot

title Victoria 3.52 DOS
map --mem /Victoria-v.3.52.3.ima (fd0)
map --hook
chainloader (fd0)+1
rootnoverify (fd0)
map --floppies=1
boot

title Поиск и загрузка Windows NT/2000/XP
find --set-root --ignore-floppies --ignore-cd /ntldr
map () (hd0)
map (hd0) ()
map --rehook
find --set-root --ignore-floppies --ignore-cd /ntldr
chainloader /ntldr

title Поиск и загрузка Windows Vista/7
find --set-root --ignore-floppies --ignore-cd /bootmgr
map () (hd0)
map (hd0) ()
map --rehook
find --set-root --ignore-floppies --ignore-cd /bootmgr
chainloader /bootmgr

title Выключение ПК
halt

6. Сохраняем в кодировке UTF-8. В AkelPad это будет выглядеть так:

7. Готово. Проверяем в MobaLiveCD.

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

Использование тем Gfxboot.

1. Скачиваем тему с

Позволяющий создавать мультизагрузочные конфигурации.
Данный загрузчик позволяет загружаться с различных устройств и разделов, поддерживает загрузку различных образов (iso, img, ima, bin ...), понимает файловые системы FAT12, FAT16, FAT32, NTFS, EXT2, EXT3 и многое другое.

СОЗДАНИЕ

Способ первый. Для него нам потребуется программа grubinst которая пропишет данные о загрузчике grub4dos в mbr область требуемого устройства, и исполняемый файл загрузчика grldr .

Содержимое архива grubinst_1.0.1_bin_win.zip.

Содержимое архива grub4dos-0.4.6a-2013-04-01.7z.

Распаковываем содержимое архива grubinst . Вставляем флешку в компьютер. Запускаем из распакованных файлов grubinst_gui.exe .
В открывшемся окне, рядом со словом Disk из списка выбираем нашу флешку, обычно самый последний пункт из выпадающего списка. Если выпадающий список не содержит никаких значений, то нужно нажать на кнопку Refresh .
В выпадающем списке Part List выбираем значение Whole disk (MBR) . Аналогично, если список не содержит значений, жмем на Refresh .


Нажимаем на кнопку Install . После чего в ответ получим окно с сообщением о том что все успешно установлено.


Нажимаем на клавишу ENTER .

Теперь осталось только скопировать в корень нашей флешки файлы grldr и menu.lst . Последний представляет собой файл конфигурации отображаемого меню, которое мы увидим после загрузки с нашей флешки. Берем данные файлы из архива grub4dos-0.4.6a-2013-04-01.7z . Файл menu.lst лежит в папке sample .

Должно получиться так...


Создание загрузочной флешки grub4dos завершено.

Теперь выставляем приоритет загрузки в BIOS компьютера на нашу флешку, и загружаемся с нее. Результат загрузки показан ниже.

Различные PEtoUSB , есть более универсальные как в этом топике . Куча утилит по сути устанавливают загрузчик grub, isolinux (реже BCDW или lilo, еще реже свой как Win7), и затем раскладывают предложенные ему файлы (Windows7,WindowsXP, Ubuntu и т.д.) по папкам. От сюда и требовательность к образам (как писали в комментариях к этому топику).

А между тем абсолютное большинство выложенных в интернете дисков (особенно USB) как раз и используют isolinux и grub, что мешает их просто объединять? да ничего!

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

Образы антивирусов не все удалось нормально «подселить» на флешку, если кто то сможет и поделится опытом буду рад (сам давно их не качал, возможно в последних версиях это уже делается сильно проще). В образе от Dr.Web, например, лежит даже инструкция по установке на флешки.
Для справки Live образы антивирусов:
Dr.Web
BitDefender
Avast! уже платный:(
Symantec NAV
Panda
Avira

8. DOS. Тут стоит разделить, если нам нужен ДОС для какой то серьезной работы, то имеет смысл найти DOS-Live образы, например этот , и грузить как в п.3. Мы же запускаем DOS что бы потом из него запустить установку Windows XP. От ДОСа нам понадобятся:
AUTOEXEC.BAT
COMMAND.COM
CONFIG.SYS
EMM386.EXE
HIMEM.SYS
IO.SYS
SMARTDRV.EXE

Желательно, но не обязательно:
Mouse.com
MOUSE.INI
OAKCDROM.SYS

Копируем все это в корень флешки, а в menu.lst добавляем
title DOS (Install WinXP?)
root (hd0,0)
makeactive
chainloader /io.sys
Тут можно либо насладиться DOS, либо заранее в AUTOEXEC.BAT прописать (файл ответов конечно по желанию):
smartdrv
cd \WinXP\i386
winnt /U:\WinXP\i386\winnt.sif

9. Установка Windows 7. Как уже писал выше достаточно разархивировать ISO в корень флешки, а в menu.lst добавить (уже с hd0,0 )
root (hd0,0)
chainloader /bootmgr
boot

10. Ну и для ровного счета расскажу еще об одном типе утилит. Некоторые (не все!) ISO образы могут быть загружены прямо из grub. Среди таких у меня нашлись: Acronis True Image, Acronis Disk Director, Active Password Changer. Это особым образом подготовленные образы (не простой слепок с CD), их загружать следующим образом:
title Active Password Changer
map (hd0,0)/Pwdchanger.iso (hd32)
map --hook
chainloader (hd32)

Удаление

Что делать если случайно установили grub в MBR основного диска, а не флешки, либо нужно удалить с флешки? Можно воспользоваться утилитой bootsect.exe как я писал выше.
В случае если еще не перезагрузились (если перезагрузились, то при помощи grub загрузите Windows, способом описанным выше), и запустите bootsect.exe
Для восстановления Windows XP bootsect /nt52 c: /mbr
Для восстановления Windows Vista/7 bootsect /nt60 c: /mbr
bootsect находится в папке boot диска Windows, а так же есть в моем выложенном архиве в конце статьи.
Флешку же достаточно просто отформатировать.

Заключение

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

Уже давно хотел написать о том, как создавать свои темы для grub4dos и вот выдалась немного времени, и я решил потратить его с пользой. Если Вы используете «grub4dos» для создания «загрузочных флешек », то, Вам будет интересно, я покажу, как легко создать тему для «grub4dos»

Для создания своих тем для «grub4dos» вам понадобится только «фотошоп» и архив с нужными для этого дела файлами. Который Вы сможете скачать с блога!

Как создаются темы для grub4dos?

Скачайте . В нём лежит папка с названием «gfxmenu» положите её в корень диска «C:\» Теперь нужно взять либо уже готовую картинку с интернета или нарисовать свою в «Фотошопе» Предлагаю второй вариант.

В «фотошопе» создайте новый проект, и размер должен быть «800×600» В принципе тут все на ваше усмотрение, рисуйте, то, что Вам нужно.

Как только картинка будет готова, сохраните её в папку «files» которая находится в папке «gfxmenu». Имя картинки должно быть таким «back.jpg» и самое важно:

Значение, качество не должно превышать больше чем «32» иначе в место картинке, в момент загрузки компьютера с флешки, Вы получите просто черное окно без своей темы!

Так же стоит добавить про разрешение самой картинки «800×600» тут все зависит от вашего «BIOS-a» какой-то bios потянет большие расширение, а какой-то нет!

После того, как картинка была сохранена в папку «files» с именем «back» и в формате «jpg» найдите в папке «gfxmenu» BATфайл «repack.bat» теперь остаётся только запустить его, после, в этой же папке появится файл «message» бес расширение.

Этот файл и есть Ваша тема для «grub4dos» теперь вы можете её использовать в «загрузочных флешках». Ссылка по теме.

Это был первый вариант, как создавать свои темы для grub4dos! На мой взгляд, самый удобный и простой. О других вариантах, будет другой пост. Что бы применить полученную тему в файл «menu.lst» добавьте строку!







2024 © gtavrl.ru.