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

    asteroid7
  • 27330
  • Стаж: 3 года 8 месяцев
  • Сообщений: 33
  • Репутация: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
  • Стаж: 7 лет 9 месяцев
  • Сообщений: 3810
  • Репутация:127

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

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

    asteroid7
  • 27330
  • Стаж: 3 года 8 месяцев
  • Сообщений: 33
  • Репутация: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
  • Стаж: 7 лет 9 месяцев
  • Сообщений: 3810
  • Репутация: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
  • Стаж: 7 лет 9 месяцев
  • Сообщений: 3810
  • Репутация:127

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

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

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

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

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

    Ander_73
  • 15549
  • Стаж: 7 лет 9 месяцев
  • Сообщений: 3810
  • Репутация:127

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

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

    vovan1982
  • 214
  • Стаж: 9 лет 9 месяцев
  • Сообщений: 1129
  • Репутация:76

    [+] [-]
  • Откуда: Ростов-на-Дону
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
  • Стаж: 5 месяцев
  • Сообщений: 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 поможет в этом вопросе

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


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

Текущее время: 21-Ноя 15:19

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


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