puhpol
- Стаж: 10 лет
- Сообщений: 891
- Репутация:75[+] [-]
|
Доброго времени господа. Часто бывало так : Делаем картинку для сборки допустим с разрешением 1024х768, загружаемся с флешки , а BIOS не поддерживает такое разрешение.Или на оборот, делаем картинку 640х480 , загружаемся с флешки , картинку растягивает до безобразия. Проблема в том что BIOS разных компьютеров имеет разное максимально возможное разрешение . Что бы этого избежать достаточно добавить в menu.lst такие строки: graphicsmode -1 640 && set GM=640 && echo 640 xres supported graphicsmode -1 800 && set GM=800 && echo 800 xres supported graphicsmode -1 1024 && set GM=1024 && echo 1024 xres supported pause --wait=1 if "%GM%"=="1024" splashimage /boot/fon1024.bmp if "%GM%"=="800" splashimage /boot/fon800.bmp if "%GM%"=="640" splashimage /boot/fon640.bmp Где /boot/fon640.bmp - путь к картинке в разрешении 640х480. Соответственно в папке boot должны лежать три картинки в трех разрешениях. ГРУБ сам при загрузке выяснит максимально возможное разрешение BIOS, и загрузит нужную картинку.
|
волчара
- Стаж: 9 лет 9 месяцев
- Сообщений: 595
- Репутация:44[+] [-]
- Откуда: Омск
|
Наиболее оптимальное разрешение картинки 800х600, по крайней мере я так всегда делаю, пробовал 1024х768 так на некоторых компах(старых) были проблемы с буквами в меню
|
Отправлено: 05-Фев-2021 10:00
(спустя 5 лет 9 месяцев)
Kupr_Soft
- Стаж: 3 года 9 месяцев
- Сообщений: 30
- Репутация:16[+] [-]
- Откуда: Питер
|
Давеча когда ковырялся в теме https://usbtor.ru/viewtopic.php?t=26 и затем посмотрел эту тему... нашёл весьма интересные решения... и возникла мысль сделать универсальный вариант меню, для Текстового и Графического режима: из отличий у них, разная кодировка самого файла меню Графический UTF-8 Текстовой OEM-866
и использутся разные шрифты (для русского языка) Графический rus.gz (unifont) Текстовой 8x16_866.psf
Выглядит это так: есть начальное (настроечное) Menu.lst (у меня запуск груба идёт из под DOSa и поэтому этот файлик лежит прямо в корне что-бы Grub.exe его подхватывал автоматом) это меню в текстовом режиме, потому что это самый работоспособный вариант! в этом начальном меню, выбор из двух пунктов Графика или Текст (с автовыбором графики по таймауту) Кодировка OEM-866вот в принципе его код с комментариями:#Надпись с версией флешки (поверх родной надписи Grub4Dos) write (md)0x220+1 !BAT\necho -n -P:0000 $[0107] Kupr_Soft Flash 5.0 (30.01.2021) %disk% \0 && initscript (md)0x220+1 #Русский шрифт для текстового меню /Boot/textfont /Boot/8x16_866.psf #Автоматический выбор меню по умолчанию timeout 15 default 0 # pause --wait=15 #----------------------------------------------------------------------- title Запуск Графического режима меню \n * \n * \n * #Установка графического режима перебором, с установкой переменной GM и сообщением об этом graphicsmode -1 640 && set GM=640 && echo 640x480 Установлено graphicsmode -1 800 && set GM=800 && echo 800x600 Установлено graphicsmode -1 1024 && set GM=1024 && echo 1024x768 Установлено #Проверка переменной для загрузка картинки под соответствующее разрешение if "%GM%"=="1024" splashimage /boot/splash/menu1024.bmp if "%GM%"=="800" splashimage /boot/splash/menu800.bmp if "%GM%"=="640" splashimage /boot/splash/menu640.bmp #Установка переменной для понимая какой режим меню выбран set MOD=GRF #Выбор шрифта с кирилицей #Тонкий шрифт #font (hd0,0)/boot/unifont.hex.gz #Обычный шрифт font (hd0,0)/boot/rus.gz configfile (hd0,0)/boot/menus/MENU.LST #----------------------------------------------------------------------- title Запуск Текстового режима меню \n * \n * \n * #Установка расцветки меню color blue/green yellow/green yellow/green green/black ## цвет обрамления меню color border=0xEE11EE #Установка переменной для понимая какой режим меню выбран set MOD=TXT configfile (hd0,0)/boot/menus/MENU.LST всё манипуляции с режимом, картинкой и шрифтом проходят уже при выборе меню. и всего ОДИН раз за время работы Grub4Dos. Это позволяет избежать постоянных задержек при переходах по подменю Груба если графика выставляется внутри каждого меню. (да, получается что на ВСЁ меню и его подменю у Вас только ОДНА одинаковая картинка, но лично меня это устраивает) (если кому-то захочется иметь в каждом рабочем меню (или подменю) свою картинку то просто в самом начале этого меню (или подменю) вставьте#Проверка переменной для загрузка картинки под соответствующее разрешение if "%GM%"=="1024" splashimage /boot/splash/menu1024.bmp if "%GM%"=="800" splashimage /boot/splash/menu800.bmp if "%GM%"=="640" splashimage /boot/splash/menu640.bmp только прописав туда нужную вам картинку. Рабочее меню (и подменю) Кодировка UTF-8а теперь уже кусок непосредственно рабочего меню:#Надпись с версией флешки (поверх родной надписи Grub4Dos) write (md)0x220+1 !BAT\necho -n -P:0000 $[0107] Kupr_Soft Flash 5.0 (30.01.2021) %disk% \0 && initscript (md)0x220+1 #Таймаут выбора меню по умолчанию timeout 30 #Пункт меню которое выбирается по умолчанию default 1 #----------------------------------------------------------------------------------------------- #--------------------------------- #Установка переменных для отображения меню (UTF-8 для графического режима или OEM-866 для тестового) if "%MOD%"=="GRF" && set title3 Acronis, Paragon, R-Drive ==> && set com3=Программы для работы с жёсткими дисками, разделами и т.п. if "%MOD%"=="TXT" && set title3 Acronis, Paragon, R-Drive ==> && set com3=�ணࠬ�� ��� ࠡ��� � ���⪨�� ��᪠��, ࠧ������ � �.�. if "%MOD%"=="GRF" && set title4 Hiren's BootCD DOS Русский (15.2) && set com4=Старенький загрузочный DOS диск с большим набором программ и утилит if "%MOD%"=="TXT" && set title4 Hiren's BootCD DOS ���᪨� (15.2) && set com4=���७쪨� ����㧮���� DOS ���� � ����訬 ���� �ணࠬ� � �⨫�� if "%MOD%"=="GRF" && set title5 Memtest86 v4.3.7 [PassMark] (Тест Памяти) && set com5=Tecт памяти Memtest86 v4.3.7 (PassMark) if "%MOD%"=="TXT" && set title5 Memtest86 v4.3.7 [PassMark] (���� ������) && set com5=Tec� ������ Memtest86 v4.3.7 (PassMark) if "%MOD%"=="GRF" && set title13 Other Boot (XP, Vista, Console, ResetPasswords) ==> && set com13=Несколько вариантов загрузок... && set com131=Сброс паролей и т.п. if "%MOD%"=="TXT" && set title13 Other Boot (XP, Vista, Console, ResetPasswords) ==> && set com13=���쪮 ��ਠ�⮢ ����㧮�... && set com131=����� ���� � �.�. #--------------------------------- title %title3% \n %com3% configfile (hd0,0)/boot/menus/ACRONIS_MENU.LST #--------------------------------- title %title4% \n %com4% map --read-only /Boot/IMA/HBCD_152_Rus.ima (fd0) map --floppies=1 map --hook chainloader (fd0)+1 rootnoverify (fd0) #--------------------------------- title %title5% \n %com5% kernel (hd0,0)/Boot/IMA/Memtest86-4.3.7.bin #--------------------------------- title %title13% \n %com13% \n %com131% configfile (hd0,0)/boot/menus/OTHER_BOOT.LST #--------------------------------- Теперь объясняю: сначала устанавливаются все переменные для отображения меню (это первый блок) если графика то переменная титле1-2-3 будет в таком тексте (кодировке) и комментарии com1-2-3 вот в таком тексте (кодировке) для простоты я сначала сделал всё меню на UTF-8, но только не заполняя строчку для OEM-866if "%MOD%"=="GRF" && set title1 Установка Microsoft Windows 10 x86 x64 (20H2)19042.631 && set com1=Чистая официальная от Microsoft версия 10 x86 x64 (20H2)19042.631 if "%MOD%"=="TXT" затем открыл два редактора рядом один в UTF-8 другой в OEM-866 и копировал верхнюю строчку из первого и вставлял во второй (получалось что весь тест был крякозяблой кроме сопированной второй строкиif "%MOD%"=="GRF" && set title1 ╨г╤Б╤В╨░╨╜╨╛╨▓╨║╨░ Microsoft Windows 10 x86 x64 (20H2)19042.631 && set com1=╨з╨╕╤Б╤В╨░╤П ╨╛╤Д╨╕╤Ж╨╕╨░╨╗╤М╨╜╨░╤П ╨╛╤В Microsoft ╨▓╨╡╤А╤Б╨╕╤П 10 x86 x64 (20H2)19042.631 if "%MOD%"=="TXT" && set title1 Установка Microsoft Windows 10 x86 x64 (20H2)19042.631 && set com1=Чистая официальная от Microsoft версия 10 x86 x64 (20H2)19042.631 после всех копирований, файл сохраняем переведя обратно в кодировку UTF-8. Gосле того как ВСЕ переменные title1-2-3 и т.д. и ВСЕ переменные для комментов com1-2-3 выставлены уже следует блок меню, в котором эти переменные подставляются... и собственно говоря работают =) Получается в итоге, грузится груб с текстовым меню (везде работает) затем можно выбрать как работать дальше работает графический? ок он автоопределит разрешение и ОДИН раз подождём прогрузки шрифтов и картинок. Можно работать. Графический режим работает некорректно? перезагрузаемся и выбираем текстовой режим. Можно работать. p.s. Возможно где-то тут есть подводные камни о которых я не знаю, либо это можно сделать как-то по другому...
|
Текущее время: 21-Ноя 15:17
Часовой пояс: UTC + 3
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах Вы не можете прикреплять файлы к сообщениям Вы можете скачивать файлы
|
|