[Quote]

    User85
  • 1698
  • Longevity: 4 years 2 months
  • Posts: 67
  • REPUTATION:0

    [+] [-]
Загрузочный образ диска grub.iso для загрузки в EFI режиме с включенным secureboot.
dy
Особенности:
grldr - версия 0.4.6а от 10.04.2016
bootx64 подписан на основе shim.efi;
bootia32 взят из debian 8.4, для загрузки grub.cfg в файловой системе сд/двд
Возможная структура iso образа:
$root\boot\grub\grub.cfg
$root\boot\grub\menu.lst
$root\boot\grub\i386-efi
$root\boot\grub\x86_64-efi
1 - файл конфигурации меню grub2efi - обязательный файл
2 - файл конфигурации меню grub4dos - обязательный файл
3 - папка с модами для конфигурации efi32
4 - папка с модами для конфигурации efi64

Пример grub.cfg:

loadfont /boot/grub/unicode.pf2
prefix=($root)/boot/grub
locale_dir=$prefix
set gfxpayload="800x600"
set lang=ru_RU
insmod efi_gop
insmod efi_uga
insmod video_bochs
insmod video_cirrus
set menu_color_normal=light-gray/black
set menu_color_highlight=white/light-gray
set pager=1
set default=0
menuentry "Boot HardDisk" --class opensuse --class os {
set oldroot=$root
if [ search --set=root -f /efi/Microsoft/Boot/bootmgfw.efi ] ; then chainloader /efi/Microsoft/Boot/bootmgfw.efi;
elif [ search --set=root -f /efi/grub/grub.efi ] ; then chainloader /efi/grub/grub.efi;
elif [ search --set=root -f /bootmgr ] ; then chainloader /bootmgr;
elif [ search --set=root -f /ntldr ] ; then chainloader /ntldr;
else echo "No suitable bootloaders found."; sleep 5; set root=$oldroot;
fi
}

Пример menu.lst:

default 0
timeout 10
pager 2
title Boot HardDisk
find --set-root --ignore-floppies --ignore-cd /bootmgr || find --set-root --ignore-floppies --ignore-cd /ntldr
map (hd0) ()
map () (hd0)
rootnoverify (hd0)
chainloader (hd0)+1
Attachments

Упакован в архив.

[Quote]

    User85
  • 1698
  • Longevity: 4 years 2 months
  • Posts: 67
  • REPUTATION:0

    [+] [-]
23284Можно поподробнее, что с этим делать?
Создаем файлы конфигурации в блокноте grub.cfg для EFI и menu.lst для Legacy соответственно в каталоге:
$root\boot\grub\
Примеры вложил.
Подробнее по синтаксису можно погуглить. В iso образ можно записать многое, например wim-файлы, krd 10, образы live-дисков, efi загрузчики и др., и затем производить их загрузку средствами grub.
Линуксовые файлы и файлы конфигурации размещаем в iso образе и грузим...
Например так для grub4dos:
title Acronis Disk Director 12.0
kernel /boot/add12/1.krn vga=791 quiet
initrd /boot/add12/1.fs
Например так для grub2efi:
menuentry "Acronis Disk Director Home 12.0 (EFI X64)" {
linux /boot/add12/2.krn vga=791 quiet
initrd /boot/add12/2.fs
}
Забыл добавить что iso-образ редактируется средствами UltraISO или редактора iso-образов.
Пока что выявлена одна проблемка:
При загрузки boot.efi от майкрософт в системе EFI через grub2efi в ISO не находится файл конфигурации bcd. Хотя в каталоге $root\EFI\Microsoft\Boot\ этот файл присутствует.
Не знаю с чем это связано, возможно надо мод подгрузить какой-то.
Через флешку если загружать такой проблемы нет.
В grub4dos такой ошибке нет и в ISO и в FAT32.

[Quote]

    sanek-van
  • 86
  • Longevity: 5 years
  • Posts: 19
  • REPUTATION:0

    [+] [-]
Доброго времени суток. Скажите а где брать эти файлы-
grldr - версия 0.4.6а от 10.04.2016
bootx64 подписан на основе shim.efi;
bootia32 взят из debian 8.4, для загрузки grub.cfg в файловой системе сд/двд
или я что то не то скачал

[Quote]

    User85
  • 1698
  • Longevity: 4 years 2 months
  • Posts: 67
  • REPUTATION:0

    [+] [-]
23313а где брать эти файлы-
grldr - версия 0.4.6а от 10.04.2016
bootx64 подписан на основе shim.efi;
bootia32 взят из debian 8.4
Они уже вшиты в iso образ. В образе только требуется обязательно разместить свои файлы конфигурации
$root\boot\grub\grub.cfg
$root\boot\grub\menu.lst
И то что будем грузить через них ab

[Quote]

    sanek-van
  • 86
  • Longevity: 5 years
  • Posts: 19
  • REPUTATION:0

    [+] [-]
удалено


Last edited by sanek-van on 2016-04-19 12:46; edited 1 time in total

[Quote]

    User85
  • 1698
  • Longevity: 4 years 2 months
  • Posts: 67
  • REPUTATION:0

    [+] [-]
23313При загрузки boot.efi от майкрософт в системе EFI через grub2efi в ISO не находится файл конфигурации bcd. Хотя в каталоге $root\EFI\Microsoft\Boot\ этот файл присутствует.
Не знаю с чем это связано, возможно надо мод подгрузить какой-то.
Через флешку если загружать такой проблемы нет.
В grub4dos такой ошибке нет и в ISO и в FAT32.
Кто-нибудь может придумать решение этой проблемы?

[Quote]

    волчара
  • 253
  • Longevity: 4 years 10 months
  • Posts: 408
  • REPUTATION:12

    [+] [-]
  • Location: Омск
23621
23313При загрузки boot.efi от майкрософт в системе EFI через grub2efi в ISO не находится файл конфигурации bcd. Хотя в каталоге $root\EFI\Microsoft\Boot\ этот файл присутствует.
Не знаю с чем это связано, возможно надо мод подгрузить какой-то.
Через флешку если загружать такой проблемы нет.
В grub4dos такой ошибке нет и в ISO и в FAT32.
Кто-нибудь может придумать решение этой проблемы?
Для того что бы у вас загрузился файл bcd, у вас должна быть структура папок такая \EFI\Boot - в папке Boot должен лежать файл bootx64.efi, а в \EFI\Microsoft\Boot\ должен лежать файл bcd, так же можно положить файлы bootx64.efi и bcd в одну папку. Если держаться стандартной структуре папок для загрузки EFI то у вас должно быть так if [ search --set=root -f /efi/Boot/bootх64.efi ] ; then chainloader /efi/Boot/bootх64.efi;

[Quote]

    puhpol
  • 2
  • Longevity: 5 years 1 month
  • Posts: 977
  • REPUTATION:50

    [+] [-]
Приветствую Господа. aa
Так , мысли в слух:
Насколько помню для загрузки Windows в режиме UEFI с CD\DVD по пути \EFI\Microsoft\Boot\ должны лежать еще cdboot.efi и cdboot_noprompt.efi (второй не обязателен вроде, утверждать не буду)
Attachments

cdboot.efi ; cdboot_noprompt.efi

[Quote]

    User85
  • 1698
  • Longevity: 4 years 2 months
  • Posts: 67
  • REPUTATION:0

    [+] [-]
Это само собой все лежит.
Хорошая идея! Попробую

[Quote]

    User85
  • 1698
  • Longevity: 4 years 2 months
  • Posts: 67
  • REPUTATION:0

    [+] [-]
Не видит все равно. Пробовал и
\EFI\Microsoft\Boot\BCD
\EFI\Microsoft\Boot\bootx64.efi
\EFI\Microsoft\Boot\cdboot.efi
\EFI\Microsoft\Boot\cdboot_noprompt.efi
и
\EFI\Boot\BCD
\EFI\Boot\bootx64.efi
\EFI\Boot\cdboot.efi
\EFI\Boot\cdboot_noprompt.efi
через команды и:
menuentry "Windows 8/10 (EFI X64)" {
set root=(cd0);
if [ search --set=root -f /efi/Microsoft/Boot/bootx64.efi ] ; then chainloader /efi/Microsoft/Boot/bootx64.efi ;
fi
}
и:
menuentry "Windows 8/10 (EFI X64)" {
chainloader /efi/Microsoft/Boot/bootx64.efi
}
и чего только не пробовал...


Last edited by User85 on 2016-04-18 20:17; edited 1 time in total

[Quote]

    SunOK
  • 9
  • Longevity: 5 years 1 month
  • Posts: 475
  • REPUTATION:29

    [+] [-]
  • Location: Україна, Перлина Поділля
23639--class opensuse
aa Это к чему?? К линуксу opensuse? Просто решил обратить внимание...

[Quote]

    User85
  • 1698
  • Longevity: 4 years 2 months
  • Posts: 67
  • REPUTATION:0

    [+] [-]
Опечатался... Подправил. Возможно дело в том что ищет на дискете fd1. хотя root меняю... И повторюсь что такой проблемы в grub4dos нет и bootmgr находит файл BCD

[Quote]

    SunOK
  • 9
  • Longevity: 5 years 1 month
  • Posts: 475
  • REPUTATION:29

    [+] [-]
  • Location: Україна, Перлина Поділля
так UEFI вообще отдельная кухня, особенно с включенным SecureBoot. Тут работоспособность grub4dos (тоесть обычный BIOS) не при чём. Может еще где глобальные пути используются? (как на счёт всего конфига под спойлером выложить, вдруг знающие подскажут)

[Quote]

    User85
  • 1698
  • Longevity: 4 years 2 months
  • Posts: 67
  • REPUTATION:0

    [+] [-]
loadfont /boot/grub/unicode.pf2
prefix=($root)/boot/grub
locale_dir=$prefix
set gfxpayload="800x600"
set lang=ru_RU
insmod efi_gop
insmod efi_uga
insmod video_bochs
insmod video_cirrus
insmod gzio
insmod gettext
insmod ext2
insmod chain
insmod ntfs
insmod xfs
insmod fat
insmod iso9660
insmod part_msdos
insmod part_gpt
insmod usbms
insmod gfxterm
insmod gfxmenu
insmod png
insmod jpeg
set menu_color_normal=light-gray/black
set menu_color_highlight=white/light-gray
set pager=1
set default=0
if sleep --interruptible 0 ; then
timeout=10
fi
menuentry "Windows 7/8/10 (EFI X64)" {
chainloader /EFI/Microsoft/Boot/bootx64.efi ;
}
Структура:
$root\EFI\Microsoft\Boot\BCD
$root\EFI\Microsoft\Boot\bootx64.efi
$root\boot\grub\grub.cfg
$root\boot\grub\menu.lst
$root\boot\grub\i386-efi
$root\boot\grub\x86_64-efi

[Quote]

    волчара
  • 253
  • Longevity: 4 years 10 months
  • Posts: 408
  • REPUTATION:12

    [+] [-]
  • Location: Омск
User85, Уберите точку с запятой, попробуйте вот так
menuentry "Windows 7/8/10 (EFI X64)" {
search --set -f /EFI/Microsoft/Boot/bootx64.efi
chainloader /EFI/Microsoft/Boot/bootx64.efi
}

Page 1 of 3


Display posts:    

Current time is: 12-Dec 21:27

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