[Quote]

    asteroid7
  • 27330
  • Longevity: 4 years
  • Posts: 34
  • REPUTATION:3

    [+] [-]
100030asteroid7, спасибо, а как успел добавить в DBF? aa
Скачиваем крайнюю версию grub4dos-for_UEFI-2023-03-29.7z
На разделе первом разделе флешки FAT32 (сделанной с помощью DBF.exe от Ander_73) в папке \efi\boot\ переименовал файл bootx64.efi (чтобы не мешался)
Взял из архива grub4dos-for_UEFI-2023-03-29.7z два файла: BOOTX64.EFI, BOOTIA32.EFI
Скопировал их в эту же папку (\efi\boot\ на разделе FAT32).
Расположил файл menu.lst в папке efi/grub/
Там же, рядом с menu.lst, разместил картинку и шрифты, это файл splashimage.jpg и папка font.
Файлы menu.lst, splashimage.jpg и папку font (это поддерживает кириллицу) взял из архива efi.7z предоставленного BalAngel, ссылка на скачивание в конце его поста. За что ему спасибо!
На разделе FAT32, в файле menu_efi.lst сделал запись:
menuentry "grub4dos-for-EFI" {
search --no-floppy --file --set /efi/boot/BOOTX64.EFI
chainloader /efi/boot/BOOTX64.EFI
}
Ниже пример загрузки образа .iso
В корне раздела положил файл Win10_11_PE_x64(EFI)_2022(NVME).iso (от Xemom1)
В файле efi/grub/menu.lst сделал запись:
title Загрузка Win10_11_PE_x64(EFI)_2022(NVME)
find --set-root /Win10_11_PE_x64(EFI)_2022(NVME).iso
map /Win10_11_PE_x64(EFI)_2022(NVME).iso (0xff)
chainloader (0xff)


Last edited by asteroid7 on 2023-04-09 15:53; edited 2 times in total

[Quote]

    Ander_73
  • 15549
  • Longevity: 8 years 1 month
  • Posts: 3962
  • REPUTATION:127

    [+] [-]
100031На разделе FAT32, в файле menu_efi.lst сделал запись
Интересно, зачем? Вышеприведённые манипуляции просто убили DBF и теперь в UEFI будет сразу грузиться G4D_UEFI.

[Quote]

    asteroid7
  • 27330
  • Longevity: 4 years
  • Posts: 34
  • REPUTATION:3

    [+] [-]
100033
100031На разделе FAT32, в файле menu_efi.lst сделал запись
Интересно, зачем? Вышеприведённые манипуляции просто убили DBF и теперь в UEFI будет сразу грузиться G4D_UEFI.
Не совсем так. При загрузке у меня появляется меню GRUB2 и далее, если я выбрал пункт "grub4dos-for-EFI", жму Enter и происходит переход на меню G4D_UEFI. Проверено на двух ноутбуках, доступных мне с UEFI.
И что интересно, при проверке загрузки этой флешки с помощью эмулятора QEMU - всё получается именно так, как Вы утверждаете, появляется сразу именно меню G4D_UEFI !!!
Но меня мало волнует, что там QEMU отображает, интересен результат реальной загрузки.
В чём же здесь "убийство" DBF? По-Вашему, как правильнее сделать переход на G4D_UEFI?

[Quote]

    Ander_73
  • 15549
  • Longevity: 8 years 1 month
  • Posts: 3962
  • REPUTATION:127

    [+] [-]
100039По-Вашему, как правильнее сделать переход на G4D_UEFI?
1. На разделе ФАТ32 создать папку \efi\grub
2. Положить в неё файлы: BOOTX64.EFI из архива grub4dos-for_UEFI-2023-03-29.7z и menu.lst
3. В файл menu_efi.lst добавить меню:
menuentry "Grub4DOS UEFI" {
search --file --set /boot/dbfat32.ptn
chainloader /efi/grub/BOOTX64.EFI
}

[Quote]

    Ander_73
  • 15549
  • Longevity: 8 years 1 month
  • Posts: 3962
  • REPUTATION:127

    [+] [-]
Наконец пофиксили совершенно дурацкую ошибку с длинным путём в configfile
(ну, как длинным, например configfile /program/linux/kaspersky/menu.lst уже зависал).
---
Вообще, единственное применение данному загрузчику вижу только в маппировании как раздел (partnew). Всё остальное умеет и GRUB2 + имеет валидную ЦП для секуре-бут.

[Quote]

    Ander_73
  • 15549
  • Longevity: 8 years 1 month
  • Posts: 3962
  • REPUTATION:127

    [+] [-]
Пример баловства с сабжем.
У меня валяется неприкаянный ИСО-шник GreenLinux (как-бы отечественный клон LinuxMint)
Вот как запустить сие:
title GreenLinux
set iso=/linux/greenlinux-21.1-cinnamon-64bit.iso
find --set-root %iso%
partnew (%@root:~1,3%,3) 0 %iso%
map %iso% (0xff)
errorcheck off
chainloader (0xff) || kernel (0xff)/casper/vmlinuz file=/cdrom/preseed/linuxmint.seed boot=casper locale=ru_RU bootkbd=us,ru console-setup/layoutcode=us,ru &; initrd (0xff)/casper/initrd.gz
Последняя строка требует пояснения. Мега-фича сабжа - запуск ИСО-шника "как есть". Но срабатывает не везде (у меня есть ноут, где вылетает ошибка virtual drive). Поэтому добавляем условие, что при НЕ-срабатывании запускаем связку kernel+initrd из ИСО-шника (тут надо руками прописывать ключи, которые берем из конфигов груб2/суслик внутри ИСО-шника).


Last edited by Ander_73 on 2023-07-06 12:40; edited 1 time in total

[Quote]

    Ander_73
  • 15549
  • Longevity: 8 years 1 month
  • Posts: 3962
  • REPUTATION:127

    [+] [-]
... в продолжение предыдущей мессаги.
Как сформировать строчку запуска kernel+initrd для произвольного ИСО-шника? Рассмотрим на примере LiveCD DrWEB.
1. Открываем drweb-livedisk-900-cd.iso и ищем файл \boot\grub\grub.cfg (стандартное расположение конфига GRUB2)
2. В конфиге ищем нужный нам пункт меню menuentry:

3. Подставляем строки linux --> kernel (0xff) и initrd --> initrd (0xff)
Получаем в итоге:
chainloader (0xff) || kernel (0xff)/casper/vmlinuz boot=casper union=aufs (... и т.д.) &; initrd (0xff)/casper/initrd.lz

Добавлено через 1 час 5 минут 49 секунд:
В ходе прогонов DrWEB вылетает ошибка: Kernel first ...
Команда errorcheck off решает проблему. Пост с меню запуска подправлен.

[Quote]

    Cross1023
  • 36548
  • Longevity: 9 months 5 days
  • Posts: 2
  • REPUTATION:0

    [+] [-]
Подскажите, как скопировать файлы на загрузочном диске с g4efi из одной директории в другую?
Встроенных средств не нашел, команда cp отсутствует.
Написать efi-приложение не осилил с наскока.
Все что получилось - сделать рабочий .nsh скрипт, но не могу передать управление ему, и также остается открыт вопрос, как потом вернуть управление в g4d.
Если есть еще варианты - буду рад их проверить.
Всем спасибо!

[Quote]

    Ander_73
  • 15549
  • Longevity: 8 years 1 month
  • Posts: 3962
  • REPUTATION:127

    [+] [-]
Cross1023, aa
Вот прям решение подсказать не могу, но просто общие рассуждения:
- скрипты nsh выполняет shell.efi (или shellx64.efi), которого и надо запускать из g4d
- НЯП скрипт запуска он ищет в корне диска (я не помню дефолтное имя, start.nsh, вроде)
- если в корне не находит, надо разбираться, понимает ли он (shell.efi) ком.строку и если понимает, то параметры в ком.строке умеет передавать refind
Вообще, нетривиальная задачка bw
---
Операции с ФС - этого g4d всегда избегал. Только чтение или только запись в уже существующие файлы.
Впрочем, очень может быть, что я отстал от жизни...

[Quote]

    vovan1982
  • 214
  • Longevity: 10 years
  • Posts: 1140
  • REPUTATION:78

    [+] [-]
  • Location: Ростов-на-Дону
Cross1023, в комплекте к G4EFI идет папка EXT с модами. Там есть мод FAT. По анологии с обычным G4Dos:

FAT

insmod /boot/grub/fat
if exist /SMBB/WINXP.sc fat ren /SMBB /SMBBXP
if exist /SMBB/WIN7.sc fat ren /SMBB /SMBB7
if exist /SMBB/WIN8.sc fat ren /SMBB /SMBB8
if exist /SMBB/WIN10.sc fat ren /SMBB /SMBB10
configfile (bd)/boot/menuwin.lst
Сам пример здесь.

[Quote]

    Cross1023
  • 36548
  • Longevity: 9 months 5 days
  • Posts: 2
  • REPUTATION:0

    [+] [-]
103168Cross1023, в комплекте к G4EFI идет папка EXT с модами. Там есть мод FAT. По анологии с обычным G4Dos:

FAT

insmod /boot/grub/fat
if exist /SMBB/WINXP.sc fat ren /SMBB /SMBBXP
if exist /SMBB/WIN7.sc fat ren /SMBB /SMBB7
if exist /SMBB/WIN8.sc fat ren /SMBB /SMBB8
if exist /SMBB/WIN10.sc fat ren /SMBB /SMBB10
configfile (bd)/boot/menuwin.lst
Сам пример здесь.
Да, спасибо! Еще я так понял там также присутствует команда copy, буду тестировать, очень похоже, что это именно то, что нужно!
Разве что не разобрался как скопировать всю папку с подпапками и файлами в них. Пофайлово работает
Возможно ren поможет в этом вопросе

[Quote]

    shoorup4eg
  • 33422
  • Longevity: 1 year 9 months
  • Posts: 6
  • REPUTATION:0

    [+] [-]
Здравствуйте. Подскажите пожалуйста как реализовать отображение пунктов меню в зависимости от версии/разрядности uefi? Попробовал так, не работает:
title  >  Continue system startup                                        \n описание
chainloader (hd0)+1
title \n \n
clear
if %@uefi%==32 title   >   TeraByte BootIt EFIx32                                 [1.36] \n описание
chainloader /EFI/BOOTIT/BOOTIT.EFI
if %@uefi%==64 title   >   TeraByte BootIt EFIx64                                 [1.36] \n описание
chainloader /EFI/BOOTIT/BOOTX64.EFI
Ну и есть ли возможность одним действием (в данном примере - выбором пункта "Continue system startup") передать управление следующим произвольным efi загрузчикам?

[Quote]

    xnik
  • 19473
  • Longevity: 6 years 4 months
  • Posts: 490
  • REPUTATION:12

    [+] [-]
  • Location: СССР
Для grub4dos for UEFI
if exist @uefi - Определение режима UEFI32 и UEFI64
if not exist @uefi - Определение режима Legacy\MBR
if "%@uefi%"=="64" - Определение режима UEFI64
if "%@uefi%"=="32" - Определение режима UEFI32 (UEFI32 однако еще не полностью работает!)
Здесь 32 64 в кавычках
Еще вариант: открыть BOOTIA32.EFI в хекс редакторе, и изменить название конфига

Comment from vovan1982


Немного дополню Ваше сообщение
Оценка среды запуска:if %@uefi%==64  Возможны Варианты 0/32/64=bios/uefi_x86/uefi_x64

[Quote]

    vovan1982
  • 214
  • Longevity: 10 years
  • Posts: 1140
  • REPUTATION:78

    [+] [-]
  • Location: Ростов-на-Дону
shoorup4eg, aa
Вот Вам мой menu.lst полностью от G4D UEFI.

menu.lst

timeout 15
default /efi/g4do/default || default 3
color normal=0xA78FBF highlight=0xFFFFFF00ff0000 helptext=0xcae000 heading=0xffffff
graphicsmode -1 1024 -1 24:32 || graphicsmode -1 640 100:1000 24:32
set dir=/efi/g4do
calc *0x834c > nul ;; set a=%@retval%
if %a%>=801 && font %dir%/font/unicode || splashimage %dir%/font/wall_panel.gz
if %a%<=800 && font %dir%/font/unicode || splashimage %dir%/font/wall_panel.gz
setmenu --box x=6 w=180 y=3 h=40 l=4 --auto-num-on --ver-on --triangle-on --highlight-full --help=6=0=42
setmenu --string=1=1=0xDDFF99="Сегодня:" --string=9=1=0xFFFFAA="date&time=MMM.dd.yyyy HH:mm:ss" --timeout=73=1=0xFF00AA
setmenu --lang=ru
# Menu
#################################################################################################################################
#+begin Бутлоадеры *.EFI \nЗагрузка бутлоадеров *.EFI.
iftitle [if not "%p0%"=="1"] ⊞ Бутлоадеры *.EFI\nЗагрузка бутлоадеров *.EFI.
savedefault
set p0=1
find --set-root --ignore-floppies --ignore-cd /EFI/g4do/menu.lst && configfile /EFI/g4do/menu.lst
boot
iftitle [if "%p0%"=="1"] ⊟ Бутлоадеры *.EFI\nЗагрузка бутлоадеров *.EFI.
savedefault
set p0=0
find --set-root --ignore-floppies --ignore-cd /EFI/g4do/menu.lst && configfile /EFI/g4do/menu.lst
boot
iftitle [if %@uefi%==64 if exist (hd0,0)/EFI/microsoft/boot/BCD if not "%p0%"=="1"] ├ MS Windows x64\nЗагрузка MS Windows PE в режиме EFI, в комплекте 2k10 by Conty9 Специальная редакция, XMPE by Xemom1 и SSTR by S.Strelec.
savedefault
rootnoverify (hd0,0)
find --set-root --ignore-floppies --ignore-cd /EFI/microsoft/boot/BCD
chainloader /EFI/boot/bootx64.efi
iftitle [if %@uefi%==64 if exist (hd0,1)/EFI/boot/bootx64.efi if not "%p0%"=="1"] ├ GRUB2 x64\nЗагрузка GRUB2.EFI
savedefault
rootnoverify (hd0,1)
find --set-root --ignore-floppies --ignore-cd /EFI/boot/bootx64.efi
chainloader (hd0,1)/EFI/boot/bootx64.efi
iftitle [if %@uefi%==64 if exist /EFI/xorboot/xorx64.efi if not "%p0%"=="1"] ├ Xorboot x64\nЗагрузка XORBOOT.EFI
savedefault
rootnoverify (hd0,1)
find --set-root --ignore-floppies --ignore-cd /EFI/xorboot/xorx64.efi
chainloader /EFI/xorboot/xorx64.efi
iftitle [if %@uefi%==64 if exist /EFI/clover/cloverx64.efi if not "%p0%"=="1"] ├ Clover x64\nЗагрузка CLOVER.EFI
savedefault
rootnoverify (hd0,1)
find --set-root --ignore-floppies --ignore-cd /EFI/clover/cloverx64.efi
chainloader /EFI/clover/cloverx64.efi
iftitle [if %@uefi%==64 if exist /EFI/refind/ref_64.efi if not "%p0%"=="1"] └ ReFind x64\nЗагрузка REF_64.EFI
savedefault
rootnoverify (hd0,1)
find --set-root --ignore-floppies --ignore-cd /EFI/refind/ref_64.efi
chainloader /EFI/refind/ref_64.efi
=================================================================================================================================
iftitle [if %@uefi%==32 if exist (hd0,0)/EFI/microsoft/boot/B32 if not "%p0%"=="1"] ├ MS Windows x86\nЗагрузка MS Windows PE в режиме EFI, в комплекте 2k10 by Conty9 Специальная редакция, XMPE by Xemom1 и SSTR by S.Strelec.
savedefault
rootnoverify (hd0,0)
find --set-root --ignore-floppies --ignore-cd /EFI/microsoft/boot/B32
chainloader /EFI/boot/bootia32.efi
iftitle [if %@uefi%==32 if exist (hd0,1)/EFI/boot/BOOTIA32.EFI if not "%p0%"=="1"] ├ GRUB2 x86\nЗагрузка GRUB2.EFI
savedefault
rootnoverify (hd0,1)
find --set-root --ignore-floppies --ignore-cd /EFI/boot/bootia32.efi
chainloader (hd0,1)/EFI/boot/bootia32.efi
iftitle [if %@uefi%==32 if exist /EFI/xorboot/xoria32.efi if not "%p0%"=="1"] ├ Xorboot x86\nЗагрузка XORBOOT.EFI
savedefault
rootnoverify (hd0,1)
find --set-root --ignore-floppies --ignore-cd /EFI/xorboot/xoria32.efi
chainloader /EFI/xorboot/xoria32.efi
iftitle [if %@uefi%==32 if exist /EFI/clover/cloveria32.efi if not "%p0%"=="1"] ├ Clover x86\nЗагрузка CLOVER.EFI
savedefault
rootnoverify (hd0,1)
find --set-root --ignore-floppies --ignore-cd /EFI/clover/cloveria32.efi
chainloader /EFI/clover/cloveria32.efi
iftitle [if %@uefi%==32 if exist /EFI/refind/ref_32.efi if not exist /EFI/clover/cloveria32.efi if not "%p0%"=="1"] └ ReFind x86\nЗагрузка REF_32.EFI
savedefault
rootnoverify (hd0,1)
find --set-root --ignore-floppies --ignore-cd /EFI/refind/ref_32.efi
chainloader /EFI/refind/ref_32.efi
#_end
#################################################################################################################################
#+begin Утилиты *.EFI \nЗагрузка приложений EFI.
iftitle [if not "%p1%"=="1"] ⊞ Утилиты *.EFI \nЗагрузка приложений EFI.
savedefault
set p1=1
find --set-root --ignore-floppies --ignore-cd /EFI/g4do/menu.lst && configfile /EFI/g4do/menu.lst
boot
iftitle [if "%p1%"=="1"] ⊟ Утилиты *.EFI \nЗагрузка приложений EFI.
savedefault
set p1=0
find --set-root --ignore-floppies --ignore-cd /EFI/g4do/menu.lst && configfile /EFI/g4do/menu.lst
boot
iftitle [if %@uefi%==64 if exist /EFI/tools/grubfmx64.efi if "%p1%"=="1"] ├ Grub2 File Manager x64 (a1ive) \nЗапуск GRUB2 File Manager
savedefault
rootnoverify (hd0,1)
find --set-root --ignore-floppies --ignore-cd /EFI/tools/grubfmx64.efi
chainloader /EFI/tools/grubfmx64.efi
iftitle [if %@uefi%==64 if exist /EFI/tools/ufm/shellx64.efi if "%p1%"=="1"] ├ Universal File Manager x64 \nЗагрузка из EFI_Shell Universal File Manager
savedefault
rootnoverify (hd0,1)
find --set-root --ignore-floppies --ignore-cd /EFI/tools/ufm/shellx64.efi
chainloader /EFI/tools/ufm/shellx64.efi (hd0,1)/efi/tools/ufm/startup.nsh
iftitle [if %@uefi%==64 if exist /EFI/tools/shellx64.efi if "%p1%"=="1"] ├ EFI Shell x64 \nЗагрузка EFI_Shell
savedefault
rootnoverify (hd0,1)
find --set-root --ignore-floppies --ignore-cd /EFI/tools/shellx64.efi
chainloader /EFI/tools/shellx64.efi
iftitle [if %@uefi%==64 if exist /EFI/bootit/bootit.efi if "%p1%"=="1"] ├ BIU++ x64 \n BootIt utility
savedefault
rootnoverify (hd0,1)
find --set-root --ignore-floppies --ignore-cd /EFI/bootit/bootit.efi
chainloader /EFI/bootit/bootit.efi
iftitle [if %@uefi%==64 if exist /EFI/tools/KOLIBRIX64.efi if "%p1%"=="1"] ├ Kolibri OS x64 \nOS написанная на Assembler
savedefault
rootnoverify (hd0,1)
find --set-root --ignore-floppies --ignore-cd /EFI/tools/KOLIBRIX64.efi
chainloader /EFI/tools/KOLIBRIX64.efi
iftitle [if %@uefi%==64 if exist /Symobi/boot/hdc64.efi if "%p1%"=="1"] ├ HD Clone 12 x64\nУтилита клонирования для HDD
savedefault
rootnoverify (hd0,1)
find --set-root --ignore-floppies --ignore-cd /Symobi/boot/hdc64.efi
chainloader /Symobi/boot/hdc64.efi
iftitle [if %@uefi%==64 if exist /EFI/tools/drev410.efi if "%p1%"=="1"] ├ Drevitalize x64\nТест и восстановление HDD
savedefault
rootnoverify (hd0,1)
find --set-root --ignore-floppies --ignore-cd /EFI/tools/drev410.efi
chainloader /EFI/tools/drev410.efi
iftitle [if %@uefi%==64 if exist /EFI/tools/memtest86prox64.efi if "%p1%"=="1"] ├ MemTest Pro x64\nЗагрузка MemTest Pro
savedefault
rootnoverify (hd0,1)
find --set-root --ignore-floppies --ignore-cd /EFI/tools/memtest86prox64.efi
chainloader /EFI/tools/memtest86prox64.efi
iftitle [if %@uefi%==64 if exist /EFI/tools/mt86+x64.efi if "%p1%"=="1"] ├ MemTest+ x64\nЗагрузка MemTest Pro
savedefault
rootnoverify (hd0,1)
find --set-root --ignore-floppies --ignore-cd /EFI/tools/mt86+x64.efi
chainloader /EFI/tools/mt86+x64.efi
iftitle [if %@uefi%==64 if exist /EFI/tools/UEFIMARKX64.EFI if "%p1%"=="1"] ├ UEFIMARK x64\n Тест видиокарты в EFI
savedefault
rootnoverify (hd0,1)
find --set-root --ignore-floppies --ignore-cd /EFI/tools/UEFIMARKX64.EFI
chainloader /EFI/tools/UEFIMARKX64.EFI
iftitle [if %@uefi%==64 if exist /EFI/tools/KonBootx64.efi if "%p1%"=="1"] ├ KonBoot Windows XP-10 x64\n Обход пароля на вход в Windows
savedefault
rootnoverify (hd0,1)
find --set-root --ignore-floppies --ignore-cd /EFI/tools/KonBootx64.efi
chainloader /EFI/tools/KonBootx64.efi
iftitle [if %@uefi%==64 if exist /EFI/tools/KonBootmacX64.efi if "%p1%"=="1"] ├ KonBoot Mac OS x64\n Обход пароля на вход в Mac OS
savedefault
rootnoverify (hd0,1)
find --set-root --ignore-floppies --ignore-cd /EFI/tools/KonBootmacX64.efi
chainloader /EFI/tools/KonBootmacX64.efi
iftitle [if %@uefi%==64 if exist /EFI/tools/KeyToolX64.efi if "%p1%"=="1"] ├ Key Tool x64 \nУтилита управления сертификатами UEFI
savedefault
rootnoverify (hd0,1)
find --set-root --ignore-floppies --ignore-cd /EFI/tools/KeyToolX64.efi
chainloader /EFI/tools/KeyToolX64.efi
iftitle [if %@uefi%==64 if exist /EFI/tools/HashTool64.efi if "%p1%"=="1"] ├ Hash Tool x64 \nУтилита управления сертификатами UEFI
savedefault
rootnoverify (hd0,1)
find --set-root --ignore-floppies --ignore-cd /EFI/tools/HashTool64.efi
chainloader /EFI/tools/HashTool64.efi
iftitle [if %@uefi%==64 if exist /EFI/tools/mmx64.efi if "%p1%"=="1"] ├ MOK Manager x64 \nУтилита управления сертификатами UEFI
savedefault
rootnoverify (hd0,1)
find --set-root --ignore-floppies --ignore-cd /EFI/tools/mmx64.efi
chainloader /EFI/tools/mmx64.efi
iftitle [if %@uefi%==64 if exist /EFI/tools/TETRISx64.efi if "%p1%"=="1"] └ TETRIS x64 \nЗагрузка игры Tetri
savedefault
rootnoverify (hd0,1)
find --set-root --ignore-floppies --ignore-cd /EFI/tools/TETRISx64.efi
chainloader /EFI/tools/TETRISx64.efi
=================================================================================================================================
iftitle [if %@uefi%==32 if exist /EFI/tools/grubfmia32.efi if "%p1%"=="1"] ├ Grub2 File Manager x86 (a1ive) \nЗапуск GRUB2 FileManager
savedefault
rootnoverify (hd0,1)
find --set-root --ignore-floppies --ignore-cd /EFI/tools/grubfmia32.efi
chainloader /EFI/tools/grubfmia32.efi
iftitle [if %@uefi%==32 if exist /EFI/tools/KOLIBRIIA32.efi if "%p1%"=="1"] ├ Kolibri OS x86 \nOS on Assembler
savedefault
rootnoverify (hd0,1)
find --set-root --ignore-floppies --ignore-cd /EFI/tools/KOLIBRIIA32.efi
chainloader /EFI/tools/KOLIBRIIA32.efi
iftitle [if %@uefi%==32 if exist /Symobi/boot/hdc32.efi if "%p1%"=="1"] ├ HD Clone x86\nУтилита клонирования для HDD
savedefault
rootnoverify (hd0,1)
find --set-root --ignore-floppies --ignore-cd /Symobi/boot/hdc32.efi
chainloader /Symobi/boot/hdc32.efi
iftitle [if %@uefi%==32 if exist /EFI/tools/memtest86pro.efi if "%p1%"=="1"] ├ MemTest Pro x86\nЗапуск MemTest Pro
savedefault
rootnoverify (hd0,1)
find --set-root --ignore-floppies --ignore-cd /EFI/tools/memtest86pro.efi
chainloader /EFI/tools/memtest86pro.efi
iftitle [if %@uefi%==32 if exist /EFI/tools/KonBootIA32.efi if "%p1%"=="1"] ├ KonBoot x86\n Обход пароля на вход в Windows
savedefault
rootnoverify (hd0,1)
find --set-root --ignore-floppies --ignore-cd /EFI/tools/KonBootIA32.efi
chainloader /EFI/tools/KonBootIA32.efi
iftitle [if %@uefi%==32 if exist /EFI/tools/mmia32.efi if "%p1%"=="1"] └ MOK Manager x86\nУтилита управления сертификатами UEFI
savedefault
rootnoverify (hd0,1)
find --set-root --ignore-floppies --ignore-cd /EFI/tools/mmia32.efi
chainloader /EFI/tools/mmia32.efi
#_end
#################################################################################################################################
#+begin Загрузка *.ISO \nЗагрузка образов из папки _ISO с раздела NTFS.
iftitle [if not "%p2%"=="1"] ⊞ Загрузка *.ISO \nЗагрузка образов из папки _ISO с раздела NTFS.
savedefault
set p2=1
find --set-root --ignore-floppies --ignore-cd /EFI/g4do/menu.lst && configfile /EFI/g4do/menu.lst
boot
iftitle [if "%p2%"=="1"] ⊟ Загрузка *.ISO \nЗагрузка образов из папки _ISO с раздела NTFS.
savedefault
set p2=0
find --set-root --ignore-floppies --ignore-cd /EFI/g4do/menu.lst && configfile /EFI/g4do/menu.lst
boot
iftitle [if %@uefi%==64 if exist (hd0,0)/_ISO/linux/linuxmint-22.1-cinnamon-64bit.iso if "%p2%"=="1"] ├ Linux Mint 22.1 Cinnamon x64 \nЗагрузка и установка Linux Mint 22.1 из ISO
savedefault
rootnoverify (hd0,0)
set ISO=/_ISO/LINUX/linuxmint-22.1-cinnamon-64bit.iso
map %ISO% (0xff) || map --mem %ISO% (0xff)
map --hook
kernel (0xff)/casper/vmlinuz boot=casper iso-scan/filename=%ISO% locale=ru_RU username=mint hostname=mint noeject noprompt --
initrd (0xff)/casper/initrd.lz
boot
iftitle [if %@uefi%==64 if exist (hd0,0)/_ISO/linux/linuxmint-21.2-cinnamon-64bit-mod.iso if "%p2%"=="1"] ├ Linux Mint 21.2 Cinnamon x64 modified\nЗагрузка и установка Linux Mint 21.2 Cinnamon x64 modified из ISO.
savedefault
rootnoverify (hd0,0)
set ISO=/_ISO/LINUX/linuxmint-21.2-cinnamon-64bit-mod.iso
map %ISO% (0xff) || map --mem %ISO% (0xff)
map --hook
kernel (0xff)/casper/vmlinuz boot=casper iso-scan/filename=%ISO% locale=ru_RU noeject noprompt --
initrd (0xff)/casper/initrd.lz
boot
iftitle [if %@uefi%==64 if exist (hd0,0)/_ISO/linux/MX-23.5_ahs_x64.iso if "%p2%"=="1"] ├ MX Linux 23.5 XFCE x64 \nЗагрузка и установка MX Linux 23.5 XFCE x64 из ISO.
savedefault
rootnoverify (hd0,0)
set ISO=/_ISO/LINUX/MX-23.5_ahs_x64.iso
map %ISO% (0xff) || map --mem %ISO% (0xff)
map --hook
kernel (0xff)/antiX/vmlinuz fromiso=%ISO% from=all nomodeset lang=ru_RU
initrd (0xff)/antiX/initrd.gz
boot
iftitle [if exist (hd0,0)/_ISO/WIN/2k10@Next.iso if "%p2%"=="1"] ├ 2k10@Next\n Загрузка 2k10@Next by Conty9 из ISO.
savedefault
rootnoverify (hd0,0)
set ISO=/_ISO/WIN/2k10@Next.iso
find --set-root --ignore-floppies %ISO%
map --read-only %ISO% (hd32) || map --mem %ISO% (hd32)
chainloader (hd32)
boot
iftitle [if exist (hd0,0)/_ISO/WIN/XMPE@Native.iso if "%p2%"=="1"] ├ WinLive 7-10 x86-x64 Native EFI 2019 by Xemom1\n Загрузка сборок с поддержкой сети WinLive 7-10 x86-x64 Native EFI 2019 by Xemom1 из ISO.
savedefault
rootnoverify (hd0,0)
set ISO=/_ISO/WIN/XMPE@Native.iso
find --set-root --ignore-floppies %ISO%
map --read-only %ISO% (hd32) || map --mem %ISO% (hd32)
chainloader (hd32)
boot
iftitle [if exist (hd0,0)/_ISO/WIN/SSTR@Native.iso if "%p2%"=="1"] └ WinLive 8-11 x86-x64 Native EFI by SergeyStrelic\nЗагрузка мини сборок WinLive 8-11 x86-x64 Native EFI by S.Strelic из ISO
savedefault
rootnoverify (hd0,0)
set ISO=/_ISO/WIN/SSTR@Native.iso
find --set-root --ignore-floppies %ISO%
map --read-only %ISO% (hd32) || map --mem %ISO% (hd32)
map --hook
chainloader (hd32)
boot
#_end
#################################################################################################################################
#+begin Загрузка *.WIM \nЗагрузка WIM с раздела NTFS.
iftitle [if not "%p3%"=="1"] ⊞ Загрузка *.WIM с раздела NTFS через NtBoot \nЗагрузка WIM с раздела NTFS через NtBoot.
savedefault
set p3=1
find --set-root --ignore-floppies --ignore-cd /EFI/g4do/menu.lst && configfile /EFI/g4do/menu.lst
boot
iftitle [if "%p3%"=="1"] ⊟ Загрузка *.WIM с раздела NTFS через NtBoot \nЗагрузка WIM с раздела NTFS через NtBoot.
savedefault
set p3=0
find --set-root --ignore-floppies --ignore-cd /EFI/g4do/menu.lst && configfile /EFI/g4do/menu.lst
boot
iftitle [if %@uefi%==64 if exist (hd0,0)/efi/sstr/strelec11x64.wim if "%p3%"=="1"] ├ WinLive 11x64 SSTR RAM > 1536 Mb \nСпециальная редакция WinPE 11x64 Live
savedefault
set WIM=(hd0,0)/efi/sstr/strelec11x64.wim
find /efi/g4do/ext/ntboot | set bd=
%bd%/efi/g4do/ext/ntboot %WIM%
boot
iftitle [if %@uefi%==64 if exist (hd0,0)/efi/2k10/PEX164.wim if "%p3%"=="1"] └ WinLive 11x64 2k10 RAM > 1536 Mb \nСпециальная редакция WinPE 11x64 Live (@Xemom1)
savedefault
set WIM=(hd0,0)/efi/2k10/PEX164.wim
find /efi/g4do/ext/ntboot | set bd=
%bd%/efi/g4do/ext/ntboot %WIM%
boot
=================================================================================================================================
iftitle [if %@uefi%==32 if exist (hd0,0)/efi/sstr/strelec8.wim if "%p3%"=="1"] ├ WinLive 8x86 SSTR RAM > 512 Mb \nСпециальная редакция WinPE 8x86 Live
savedefault
set WIM=(hd0,0)/efi/sstr/strelec8.wim
find /efi/g4do/ext/ntboot | set bd=
%bd%/efi/g4do/ext/ntboot %WIM%
boot
iftitle [if %@uefi%==32 if exist (hd0,0)/efi/2k10/PE6286.wim if "%p3%"=="1"] └ WinLive 8x86 2k10 RAM > 512 Mb \nСпециальная редакция WinPE 8x86 Live (@Xemom1)
savedefault
set WIM=(hd0,0)/efi/2k10/PE6286.wim
find /efi/g4do/ext/ntboot | set bd=
%bd%/efi/g4do/ext/ntboot %WIM%
boot
#_end
#################################################################################################################################
#+begin Загрузка *.WIM \nЗагрузка WIM с раздела NTFS.
iftitle [if not "%p4%"=="1"] ⊞ Загрузка *.WIM с раздела NTFS через NtLoader \nЗагрузка WIM с раздела NTFS через NtLoader.
savedefault
set p4=1
find --set-root --ignore-floppies --ignore-cd /EFI/g4do/menu.lst && configfile /EFI/g4do/menu.lst
boot
iftitle [if "%p4%"=="1"] ⊟ Загрузка *.WIM с раздела NTFS через NtLoader \nЗагрузка WIM с раздела NTFS через NtLoader.
savedefault
set p4=0
find --set-root --ignore-floppies --ignore-cd /EFI/g4do/menu.lst && configfile /EFI/g4do/menu.lst
boot
iftitle [if %@uefi%==64 if exist (hd0,0)/efi/sstr/strelec11x64.wim if "%p4%"=="1"] ├ WinLive 11x64 SSTR RAM > 1536 Mb \nСпециальная редакция WinPE 11x64 Live
savedefault
set WIM=/efi/sstr/strelec11x64.wim
uuid (hd0,0)
kernel /efi/g4do/ext/ntloader uuid=%?% file=%WIM%
initrd /efi/g4do/ext/initrd.lz1
iftitle [if %@uefi%==64 if exist (hd0,0)/efi/2k10/PEX164.wim if "%p4%"=="1"] └ WinLive 11x64 2k10 RAM > 1536 Mb \nСпециальная редакция WinPE 11x64 Live (@Xemom1)
savedefault
set WIM=/efi/2k10/PEX164.wim
uuid (hd0,0)
kernel /efi/g4do/ext/ntloader uuid=%?% file=%WIM%
initrd /efi/g4do/ext/initrd.lz1
=================================================================================================================================
iftitle [if %@uefi%==32 if exist (hd0,0)/efi/sstr/strelec8.wim if "%p4%"=="1"] ├ WinLive 8x86 SSTR RAM > 512 Mb \nСпециальная редакция WinPE 8x86 Live
savedefault
set WIM=/efi/sstr/strelec8.wim
uuid (hd0,0)
kernel /efi/g4do/ext/ntloader uuid=%?% file=%WIM%
initrd /efi/g4do/ext/initrd.lz1
iftitle [if %@uefi%==32 if exist (hd0,0)/efi/2k10/PE6286.wim if "%p4%"=="1"] └ WinLive 8x86 2k10 RAM > 512 Mb \nСпециальная редакция WinPE 8x86 Live (@Xemom1)
savedefault
set WIM=/efi/2k10/PE6286.wim
uuid (hd0,0)
kernel /efi/g4do/ext/ntloader uuid=%?% file=%WIM%
initrd /efi/g4do/ext/initrd.lz1
#_end
#################################################################################################################################
title
root (bd)
#################################################################################################################################
title Restart PC\nПерезагрузка
savedefault
reboot
title Shutdown Power\nВыключение
savedefault
halt
#################################################################################################################################
#title beep
#beep --play=10 400 20 500 20 600 20 700 20 800 20 900 20 1000 20 1100 20 1200 20 1300 20 1400 20 1500 20 1600 20
#halt
И файл с примерами.

примеры

# Это пример файла Menu.lst. Вам следует внести в него некоторые изменения.
# Он должен иметь кодировку UTF-8 для поддержки нескольких языков.
# Шрифт должен быть в формате unifont.hex.
#Размонтировать раздел
partnew (%@root:~1,3%,3) 0 0 0
#Устанавливаем обратный отсчет (в секундах)
timeout 30
#Установим первый элемент как значение по умолчанию
default /default || default 3
savedefault --wait=5 #запрашивает подтверждение на сохранение в течении 5 сек (Y/N)
savedefault # Сохранить последний пункт как дефолтный без подтверждения
#Установка цвета символов (верхние 32 бита — это цвет фона, а нижние 32 бита — цвет переднего плана. Выполните в командной строке: echo -rrggbb, вы увидите соответствующий цвет.)
color normal=0xff9933 highlight=0xffff00 helptext=0xff00ff heading=0x66ff00
#Установите графический режим (вы можете использовать графический режим, чтобы определить графический режим, поддерживаемый системой)
#graphicsmode -1 800(горизонтальные пиксели)
#Фоновое изображение
#splashimage /efi/grub/splashimage.jpg || splashimage /boot/grub/splashimage.bmp
#Загрузить шрифт unifont (если это шрифт не 16*16, необходимо добавить параметры, например --font-high=24)
font /efi/grub/unifont.hex.gz
Добавьте параметры в функцию шрифта:
font [--font-high=24] [--simp=] имя файла
Пример: шрифт /my.hex
font --font-high=24 --simp= /24.hex
Встроенная библиотека шрифтов, если это шрифт не 16*16, необходимо объявить заголовок: DotSize=24,simp
#Получаем горизонтальные пиксели, загружаем шрифты и фоновые изображения разных размеров
#calc *0x834c > nul ;; set a=%@retval%
#if %a%>=801 && font --font-high=40 /efi/grub/menu40.hex
#if %a%<=800 && font /efi/grub/unifont.hex.gz && splashimage /efi/grub/lt.jpg
#Оценка среды запуска:if %@uefi%==64 0/32/64=bios/uefi_x86/uefi_x64
#Установить окно меню
setmenu --box x=4 w=60 y=6 h=9 l=2
#x=[x] y=[y] w=[w] h=[h] l=[l] Начальный столбец заголовка меню, начальная строка, максимальное количество символов в строке, максимальное количество пунктов меню, Толщина линии меню (в пикселях 0-4);
#Примечание: w=0 означает горизонтальное центрирование. В это время w должно быть после x;
#l=0 означает, что окно меню не отображается;
#--u Восстановить меню в исходное состояние;
setmenu
#Переключить справочную информацию меню между русским и английским языками. Английский по умолчанию;
setmenu --lang=ru
#--ver-on --ver-off Включить/выключить информацию о версии. Открыто по умолчанию;
setmenu --ver-on
setmenu --triangle-on
setmenu --highlight-full
#--auto-num-off --auto-num-on Включить/выключить автоматическую нумерацию меню. По умолчанию выключено;
setmenu --auto-num-on
#Устанавливаем информацию о строке
setmenu --string=x=y=color="string"
#--font-spacing=[font]:[line] Установить межсимвольный/строчный интервал. Единица измерения: пиксель. По умолчанию — 0. Должен быть помещен перед следующими параметрами;
setmenu --font-spacing=24:0
setmenu --left-align --right-align Выровнять меню по левому/правому краю. По умолчанию выравнивание по левому краю.
setmenu --string=[x]=[y]=[color]=["string"] Позиция строки, цвет и содержимое могут использоваться для заголовков, описаний, справки и т. д. Единица измерения: столбец, строка, 24-битный цвет;
Примечание. Если цвет опущен, будет использоваться цвет заголовка, если он расположен над окном меню, и цвет справки, если он расположен под окном меню;
Английские двойные кавычки необходимо добавлять в начале и конце строки;
Количество столбцов = количество пикселей по горизонтали/(ширина символа + интервал между символами) Ширина символа = 8;
Количество строк = вертикальные пиксели изображения/(высота символа + межстрочный интервал) Высота символа = 10;
setmenu --help=[x]=[w]=[y] Местоположение справки. Единица измерения: столбец, строка;
Примечание: x=0 определяется границей (по умолчанию), w=0 — по центру по горизонтали;
setmenu --keyhelp=[y_offset]=[color] Положение и цвет ключевой справки. Единица измерения: столбец, строка, 24-битный цвет;
Примечание: y_offset=0, справка по проекту и клавишам расположены в одной области, и справка по проекту может переопределять справку по клавишам (по умолчанию);
y_offset != 0, смещение строки от ключевой справки до справки по проекту, справка по проекту и ключевая справка сосуществуют;
y_offset<=4, количество отображаемых строк справки по проекту;
Цвет = 0 по умолчанию «Цвет справки»;
#Установим дату и время --timeout=[x]=[y]=[color] Позиция и цвет обратного отсчета. Единицы: столбец, строка, 24-битный цвет.
Примечание. По умолчанию x=y=0 соответствует концу выбранного элемента;
color=0 по умолчанию имеет значение «цветное выделение».
setmenu --string=x=y=color="date&time=yyyy-MM-dd HH:mm:ss"
##Установить обратный отсчет
setmenu --timeout=x=y=color
#Для получения дополнительной информации о функциях редактирования меню, анимации, меню изображений и т. д. посетите http://bbs.wuyou.net/forum.php?mod=viewthread&t...p;extra=page%3D3
Добавьте функцию setmenu для улучшения функции редактирования графического меню. параметр:
title Загрузка файла EFI
savedefault --wait=2
chainloader /efi/boot/grub2x64.efi
title Загрузка Windows
chainloader /efi/microsoft/boot/bootmgfw.efi
title Загрузка виртуального CD/DVD
find --set-root /cdrom.iso
map /cdrom.iso (0xff)
chainloader (0xff)
title Загрузка виртуального CD/DVD (в память)
find --set-root /cdrom.iso
map --mem /cdrom.iso (0xff)
chainloader (0xff)
title Загрузка с CD/DVD (cd0)
chainloader (cd0)
title Загрузка виртуального HDD
find --set-root /boot/hdd.img
map /boot/hdd.img (hd)
chainloader (hd-1)
title Загрузка виртуального HDD (в память)
find --set-root /boot/hdd.img
map --mem /boot/hdd.img (hd)
chainloader (hd-1)
title Загрузка жесткого диска (hd0)
chainloader (hd0)
title Переход в другое меню
configfile /efi/grub/menu2.lst
title Запуск Linux Porteus 5.0 x86_64 openbox
kernel /porteus/vmlinuz copy2ram
initrd /porteus/initrd.xz
#Предположим, что внешние команды расположены в /efi/grub/ext/
#Предположим, что WIM/VHD (или загрузочная папка) находится по адресу (hdx,y)/boot/imgs/
#Предположим, что winload.efi Windows находится по адресу (hdx,y)
title Загрузка WIM/VHD с помощью внешней команды ntloader (схема kernel 1)
uuid (hdx,y)
kernel /efi/grub/ext/ntloader uuid=%?% file=/boot/imgs/winpe.wim
initrd /efi/grub/ext/initrd.lz1
title Загрузка WIM/VHD с помощью внешней команды ntloader (схема kernel 2)
find --set-root /boot/imgs/winpe.wim
uuid ()
find --set-root /efi/grub/ext/ntloader
kernel /efi/grub/ext/ntloader uuid=%?% file=/boot/imgs/winpe.wim
initrd /efi/grub/ext/initrd.lz1
title Загрузка WIM/VHD с помощью внешней команды ntloader (схема chainloader 1)
uuid (hdx,y)
chainloader /efi/grub/ext/ntloader initrd=/efi/grub/ext/initrd.lz1 uuid=%?% file=/boot/imgs/winpe.wim
title Загрузка WIM/VHD с помощью внешней команды ntloader (схема chainloader 2)
find --set-root /boot/imgs/winpe.wim
uuid ()
find --set-root /efi/grub/ext/ntloader
chainloader /efi/grub/ext/ntloader initrd=/efi/grub/ext/initrd.lz1 uuid=%?% file=/boot/imgs/winpe.wim
title Загрузка WIM/VHD с помощью внешней команды ntloader (схема kernel)
uuid (hdx,y)
kernel /efi/grub/ext/ntloader uuid=%?%
initrd /efi/grub/ext/initrd.lz1
title Загрузка Windows с помощью внешней команды ntloader (chainloader по цепочке)
uuid (hdx,y)
chainloader /efi/grub/ext/ntloader initrd=/efi/grub/ext/initrd.lz1 uuid=%?%
title Загрузка WIM/VHD с помощью внешней команды NTBOOT (схема 1)
find /efi/grub/ext/ntboot | set bd=
find --set-root /boot/imgs/winpe.wim
%bd%/efi/grub/ext/ntboot /boot/imgs/winpe.wim
boot
title Загрузка WIM/VHD с помощью внешней команды NTBOOT (схема 2)
find /boot/imgs/winpe.vhd | set bd=
/efi/grub/ext/ntboot %bd%/boot/imgs/winpe.vhd winload=/Windows/System32/boot/winload.efi minint=1
boot
title Загрузка системы Windows с помощью внешней команды NTBOOT
/efi/grub/ext/ntboot (hdx,y)/win
boot
title Командная строка
commandline
title Выход из grub4dos
exit_g4d
title Перезагрузить
reboot
title Выключить
halt

[Quote]

    shoorup4eg
  • 33422
  • Longevity: 1 year 9 months
  • Posts: 6
  • REPUTATION:0

    [+] [-]
vovan1982, спасибо ay
Увидел то, что мне нужно: iftitle [if %@uefi%== ...]

Page 4 of 5


Display posts:    

Current time is: 26-Mar 04:11

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