puhpol
- Longevity: 10 years
- Posts: 892
- REPUTATION: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, и загрузит нужную картинку.
|
волчара
- Longevity: 9 years
- Posts: 598
- REPUTATION:45[+] [-]
- Location: Омск
|
Наиболее оптимальное разрешение картинки 800х600, по крайней мере я так всегда делаю, пробовал 1024х768 так на некоторых компах(старых) были проблемы с буквами в меню
|
Отправлено: 05-Feb-2021 10:00
(after 5 years 9 months)
Kupr_Soft
- Longevity: 3 years 11 months
- Posts: 30
- REPUTATION:16[+] [-]
- Location: Питер
|
Давеча когда ковырялся в теме 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. Возможно где-то тут есть подводные камни о которых я не знаю, либо это можно сделать как-то по другому...
|
Current time is: 13-Jan 00:56
All times are UTC + 3
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum You cannot attach files in this forum You can download files in this forum
|
|