Сайт | Скачать | Видео | Wiki

Автор Тема: Переход из BIOS режима в EFI  (Прочитано 3499 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн krasnyh

  • Ветеран
  • *****
  • Сообщений: 5319
  • Репутация: +139/-1
  • Автор темы
Переход из BIOS режима в EFI
« : 21 Октябрь 2019, 11:01:25 »
Винда с ним будет грузиться, т.е. подписан?
Недавно случайно обнаружил статью Эксплуатация подписанных загрузчиков для обхода защиты UEFI Secure Boot
Важно или нет, не знаю.
« Последнее редактирование: 24 Октябрь 2019, 09:08:28 от sfs »

Оффлайн Pro

  • Модератор
  • Ветеран
  • ****
  • Сообщений: 10737
  • Репутация: +113/-2
Re: Hybrid bootable PRA iso
« Ответ #1 : 21 Октябрь 2019, 12:09:59 »
Пробовал. Не понравилось. Скакать из загрузчика в загрузчик и жонглировать сертификатами - неинтересно.
Один наш общий знакомый уверяет что возможность отключить secureboot будет всегда. Я ему верю :)))
Я загружаю новые пакеты сюда: http://file.puppyrus.org/users/ а дальше можно найти самостоятельно.

Оффлайн sfs

  • Администратор
  • Ветеран
  • ****
  • Сообщений: 33965
  • Репутация: +231/-0
    • PuppyRus-A
Re: Hybrid bootable PRA iso
« Ответ #2 : 21 Октябрь 2019, 18:03:03 »
Слепил демку с нашими последними находками в области загрузчиков и пр.
http://file.puppyrus.org/users/pra64/iso/Hybrid_bootable_Grub2-EFI_and_MBR-demo.iso этот исо сделан скриптом iso-make-hybrid.sh - т.е. переход syslinux->grub4dos->grub2
Чтобы получить чистый  grub2 (как в этой теме) - пересоберите этим скриптом iso-make-grub2.sh
« Последнее редактирование: 21 Октябрь 2019, 18:05:31 от sfs »

Оффлайн krasnyh

  • Ветеран
  • *****
  • Сообщений: 5319
  • Репутация: +139/-1
  • Автор темы
Re: Hybrid bootable PRA iso
« Ответ #3 : 23 Октябрь 2019, 19:24:05 »
Цитата
Сейчас под рукой нет компа с EFI. Будет возможность проверю.
Не первый раз слышу такую фразу. Слышал и от sfs, когда он что-то делал (например, инсталятор) и просил потестировать, т.к. у самого нет uefi.

(Clover,  DUET).

Тут я нашел несколько тем в инете, выложу ссылки, может пригодится:
Загрузка BIOS, GPT, GRUB4DOS, MEMDISK, DUET и SHELLx64.EFI
Загрузка с GPT диска из BIOS

По первой ссылке много нерабочих url, ссылка на пакет с rtf файлом, который дает новую ссылку https://github.com/CloverHackyColor/CloverBootloader/releases
Цитата
Release v2.5k-5097
Clover.of.Hacky.Color_5097_rus.pdf
CloverISO-5097.tar.lzma
CLOVERX64.efi
Clover_v2.5k_r5097.pkg

Очень интересно почитать Clover.of.Hacky.Color_5097_rus.pdf:
Цитата
Что есть что?
Вкратце еще раз, Кловер осуществляет четыре основные функции:
1.Перехватывает управление, чтобы не БИОС грузил операционную систему, чтобы это делалось через Кловер. БИОС вызывает Кловер, а тот грузит операционку, кстати еще и спросит пользователя, какую из нескольких операционок загружать.
.........

При включении или при перезагрузке компьютера загрузка операционной системы с помощью Кловера происходит по следующему пути.
Вариант А. Компьютер основанный на БИОС (легаси-загрузка)BIOS→MBR→PBR→boot→CLOVERX64.efi→OSloader  (boot.efi в случае MacOSX,bootmgfw.efi для Windows, grub.efi для Linux).
Вариант Б. Компьютер, основанный на УЕФИ БИОС (новая схема, УЕФИ-загрузка)UEFI_BIOS→CLOVERX64.efi→OSloader (либо BootX64.efi)

Цитата
RealEFI должен был бы быть прошит вместо БИОСа, но для тех, у кого материнская плата на основе BIOS, придуман загружаемый EFI. Эта система загрузки EFI на машине с BIOS придумана Intel, и сейчас находится в активной разработке с открытыми исходными кодами на сайте tianocore.org. Собственно этот загрузчик называется DUET.

Оффлайн sfs

  • Администратор
  • Ветеран
  • ****
  • Сообщений: 33965
  • Репутация: +231/-0
    • PuppyRus-A
Re: Переход из BIOS режима в EFI
« Ответ #4 : 24 Октябрь 2019, 09:09:13 »
Clover,  DUET
Дайте пошаговый проверенный рецепт перехода из биос в ефи

Оффлайн Pro

  • Модератор
  • Ветеран
  • ****
  • Сообщений: 10737
  • Репутация: +113/-2
Re: Переход из BIOS режима в EFI
« Ответ #5 : 24 Октябрь 2019, 15:25:20 »
Если применительно к моему варианту флешки, то пользы от переключения из bios в efi никакой т.к. Bios умеет загружать больше вариантов чем efi.
Вот обратное переключение дало бы больше пользы т.к. Через memdisk можно много образов запускать.

И в принципе переход такой можно сделать, теоретическое обоснование я себе сделал.
Я загружаю новые пакеты сюда: http://file.puppyrus.org/users/ а дальше можно найти самостоятельно.

Оффлайн sfs

  • Администратор
  • Ветеран
  • ****
  • Сообщений: 33965
  • Репутация: +231/-0
    • PuppyRus-A
Re: Переход из BIOS режима в EFI
« Ответ #6 : 24 Октябрь 2019, 16:11:34 »
пользы от переключения из bios в efi никакой
Кроме возможности тестирования EFI без EFI
в принципе переход такой можно сделать
Было бы интересно.... Может и в grub4dos можно? Чтобы одно меню...

Оффлайн krasnyh

  • Ветеран
  • *****
  • Сообщений: 5319
  • Репутация: +139/-1
  • Автор темы
Re: Переход из BIOS режима в EFI
« Ответ #7 : 24 Октябрь 2019, 19:37:03 »
Для затравки, начальные этапы (ссылки на файлы здесь):
1. Разбить флешку в gpt (gdisk)
% fdisk -l |grep sdb
Диск /dev/sdb: 7,3 GiB, 7862353920 байт, 15356160 секторов
/dev/sdb1    2048   411647   409600   200M EFI
/dev/sdb2  411648 15356126 14944479   7,1G Microsoft basic data
2. Скачать CloverISO-5097.tar.lzma, распаковать, смонтировать. Извлечь из /usr/standalone/i386 файлы boot0af, boot1f32.
3. Скриптом прописать их в mbr/pbr
Цитата
#! /bin/bash

MBR=/dev/sdb
PBR=${MBR}1

dd if="${MBR}" count=1 bs=512 of=origMBR
cp origMBR newMBR
dd if=boot0af of=newMBR bs=1 count=440 conv=notrunc
dd if=newMBR of="${MBR}" count=1 bs=512

dd if="${PBR}" count=1 bs=512 of=origbs
cp boot1f32 newbs
dd if=origbs of=newbs skip=3 seek=3 bs=1 count=87 conv=notrunc
dd if=newbs of="${PBR}" count=1 bs=512
4. Скопировать в sdb1 (EFI раздел) Clover-v2.5k-5097-X64.iso/efi. Папки efi, boot, clover переименовать в верхний регистр (надо/ненадо не перепроверял). Так же и файлы /boot/bootx64.efi и clover/cloverx64.efi.
5. В корень sdb1 положить Clover-v2.5k-5097-X64.iso/usr/standalone/i386/x64/boot7 перименовав в boot.

Все, clover грузится. Как грузить PRA, куда копировать не разобрался. 'Плаваю' слегка в uefi.
Скрин.

upd. Из меню эмулятора вручную запустил загрузчик pra64 (BOOTx64.efi).


upd2. Вроде достаточно одного boot0af для запуска clover с gpt диска. Скрипт примет следующий вид:
#! /bin/bash

MBR=/dev/sdb

dd if="${MBR}" count=1 bs=512 of=origMBR
cp origMBR newMBR
dd if=boot0af of=newMBR bs=1 count=440 conv=notrunc
dd if=newMBR of="${MBR}" count=1 bs=512
« Последнее редактирование: 24 Октябрь 2019, 21:18:08 от krasnyh »

Оффлайн Coalxe

  • Пользователь
  • **
  • Сообщений: 92
  • Репутация: +3/-0
Re: Переход из BIOS режима в EFI
« Ответ #8 : 24 Октябрь 2019, 22:04:08 »
переход syslinux->grub4dos->grub2
Много дубликатов или переходов.
Цитата
[4.03+] ISOLINUX searches for isolinux.cfg and then for syslinux.cfg in "/boot/isolinux/" before searching for the same files in "/isolinux/", "/boot/syslinux/", "/syslinux/", and "/", in this order.

Оффлайн sfs

  • Администратор
  • Ветеран
  • ****
  • Сообщений: 33965
  • Репутация: +231/-0
    • PuppyRus-A
Re: Переход из BIOS режима в EFI
« Ответ #9 : 25 Октябрь 2019, 09:11:07 »
clover грузится
Но задача-то была протестировать grub2-EFI. Т.е. получается это здесь не поможет и вообще не понятно зачем нужно...
Много дубликатов или переходов.
По сути  для BIOS по прежнему на все случаи хватает g4d. Он даже gpt теперь может. Главная фишка - один маленький инсталлер под все ОС (даже винду). С груб 2 тут сложнее
Остальная чехарда с grub2 нужна только для проверки конфигов grub2-EFI
Т.к. g4d не живет с EFI
У ISOLINUX , вроде есть проблемы с ntfs. И по любому еще один форимат конфигов осваивать желания нет

Оффлайн krasnyh

  • Ветеран
  • *****
  • Сообщений: 5319
  • Репутация: +139/-1
  • Автор темы
Re: Переход из BIOS режима в EFI
« Ответ #10 : 25 Октябрь 2019, 09:30:36 »
Но задача-то была протестировать grub2-EFI. Т.е. получается это здесь не поможет и вообще не понятно зачем нужно...
Не надо делать поспешных выводов. Я же сказал, что не разобрался толком.
Выложил свои наработки сразу, не дожидаясь, пока пройдет уйма времени и я достигну дзен в его понимании.

upd. Из меню эмулятора вручную запустил загрузчик pra64 (BOOTx64.efi).
Из uefi вручную все грузится. Для проверки правильности загрузочной записи PRA из uefi, уже этого достаточно. Для начала.
Скрин.


upd. При желании, можно вообще убрать папки efi/boot и efi/clover (скопированные из Clover-v2.5k-5097-X64.iso). Файл boot (boot7) является модифицированным загрузчиком DUET и его достаточно, чтобы попасть в окно UEFI (скрин2) и вручную запустить загрузчик PRA (BOOTx64.efi).
« Последнее редактирование: 25 Октябрь 2019, 17:18:16 от krasnyh »