[Цитировать]

    asteroid7
  • 27330
  • Стаж: 4 года
  • Сообщений: 34
  • Репутация: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)


Последний раз редактировалось: asteroid7 (2023-04-09 15:53), всего редактировалось 2 раз(а)

[Цитировать]

    Ander_73
  • 15549
  • Стаж: 8 лет 2 месяца
  • Сообщений: 3965
  • Репутация:127

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

[Цитировать]

    asteroid7
  • 27330
  • Стаж: 4 года
  • Сообщений: 34
  • Репутация: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?

[Цитировать]

    Ander_73
  • 15549
  • Стаж: 8 лет 2 месяца
  • Сообщений: 3965
  • Репутация: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
}

[Цитировать]

    Ander_73
  • 15549
  • Стаж: 8 лет 2 месяца
  • Сообщений: 3965
  • Репутация:127

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

[Цитировать]

    Ander_73
  • 15549
  • Стаж: 8 лет 2 месяца
  • Сообщений: 3965
  • Репутация: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/суслик внутри ИСО-шника).


Последний раз редактировалось: Ander_73 (2023-07-06 12:40), всего редактировалось 1 раз

[Цитировать]

    Ander_73
  • 15549
  • Стаж: 8 лет 2 месяца
  • Сообщений: 3965
  • Репутация: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 решает проблему. Пост с меню запуска подправлен.

[Цитировать]

    Cross1023
  • 36548
  • Стаж: 9 месяцев 13 дней
  • Сообщений: 2
  • Репутация:0

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

[Цитировать]

    Ander_73
  • 15549
  • Стаж: 8 лет 2 месяца
  • Сообщений: 3965
  • Репутация:127

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

[Цитировать]

    vovan1982
  • 214
  • Стаж: 10 лет
  • Сообщений: 1140
  • Репутация:78

    [+] [-]
  • Откуда: Ростов-на-Дону
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
Сам пример здесь.

[Цитировать]

    Cross1023
  • 36548
  • Стаж: 9 месяцев 13 дней
  • Сообщений: 2
  • Репутация: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 поможет в этом вопросе

[Цитировать]

    shoorup4eg
  • 33422
  • Стаж: 1 год 9 месяцев
  • Сообщений: 6
  • Репутация: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 загрузчикам?

[Цитировать]

    xnik
  • 19473
  • Стаж: 6 лет 5 месяцев
  • Сообщений: 490
  • Репутация:12

    [+] [-]
  • Откуда: СССР
Для 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 в хекс редакторе, и изменить название конфига

Комментарий от vovan1982


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

[Цитировать]

    vovan1982
  • 214
  • Стаж: 10 лет
  • Сообщений: 1140
  • Репутация:78

    [+] [-]
  • Откуда: Ростов-на-Дону
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

[Цитировать]

    shoorup4eg
  • 33422
  • Стаж: 1 год 9 месяцев
  • Сообщений: 6
  • Репутация:0

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

Страница 4 из 5


Показать сообщения:    

Текущее время: 04-Апр 04:23

Часовой пояс: UTC + 3


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы можете скачивать файлы