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

    zxen
  • 32
  • Стаж: 9 лет 5 месяцев
  • Сообщений: 263
  • Репутация:21

    [+] [-]
  • Откуда: Siberia
Загрузка Grub2 в Secure Boot режиме.
Суть вопроса: Для того чтобы загрузчик был загружен в UEFI BIOS, в режиме Secure Boot, он должен иметь цифровую подпись. На данный момент (информация может быть не актуальна), Майкрософт подписали только два загрузчика, shim и preloader, и то, не совсем полноценной подписью, но для загрузки хватает. Остальным, не дают либо из вредности, либо для предотвращения распространения вражеских операционных систем. Поэтому, для Grub2, практикуется двойная загрузка, сначала грузиться shim/preloader (bootx64.efi), а он уже в свою очередь грузит загрузчик Grub2 (grubx64.efi).
Во вложении, два комплекта файлов:
rootPM - комплект полностью взят из Parted Magic v. 2015.11.13. grubx64.efi там имеет одну особенность, он ищет в корне устройства файл-маркер, .disk\info и устанавливает по нему переменную root, но работает и без него.
rootPM-Fedora - в этом комплекте, bootx64.efi взят из Parted Magic, bootia32.efi и grubx64.efi взяты из Fedor'ы. (у них в меню нет всякой ненужной хрени, в отличии от grub2 из parted magic) - не работает в Secure Boot
x86_64-efi - набор модулей для Grub2, для расширений его возможностей.
По умолчанию, данный Grub2, ищет модули в \Boot\grub\x86_64-efi\ - пример подключения модуля ntfs в меню - insmod ntfs
Если модуль находится в произвольной папке, то insmod /папка/ntfs.mod
Загрузка с модулем ntfs невозможна в Secure Boot, так как он не имеет цифровой подписи.
-
grubx64.efi в обоих комплектах, подписаны для загрузки в Secure Boot (но не майкрософтом). Любая их правка, автоматически лишает подписи.
Отредактировано 18.02.2016
Вложение
Вложение
Вложение


Последний раз редактировалось: zxen (2016-02-18 17:37), всего редактировалось 20 раз(а)

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

    puhpol
  • 2
  • Стаж: 9 лет 5 месяцев
  • Сообщений: 888
  • Репутация:73

    [+] [-]
zxen, Приветствую!
Вот уже интереснее стало..... Только что в SecureBoot загрузил rEFInd .
Сейчас твой архивчик попробую....

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

    zxen
  • 32
  • Стаж: 9 лет 5 месяцев
  • Сообщений: 263
  • Репутация:21

    [+] [-]
  • Откуда: Siberia
puhpol, aa Да я вот вот как раз эту тему прочитал и вспомнил про костыль для grub2.
Должно по идее появиться меню, где нужно выбрать enroll hash, а потом loader.efi и посмотреть что будет.

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

    puhpol
  • 2
  • Стаж: 9 лет 5 месяцев
  • Сообщений: 888
  • Репутация:73

    [+] [-]
Не работает, выдает ошибку....
Сначала выдает окошко чего то пишет про SecureBoot и предлагает нажать "ок"
Потом появляется синее окошко,
Только не предлагает не чего, а пишет :
...... loader.efi : (2) invalid parametr
предлогает нажать ОК и уходит в выбор загрузочного устройства.


Последний раз редактировалось: puhpol (2015-11-25 18:43), всего редактировалось 1 раз

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

    puhpol
  • 2
  • Стаж: 9 лет 5 месяцев
  • Сообщений: 888
  • Репутация:73

    [+] [-]
14579Должно по идее появиться меню, где нужно выбрать enroll hash, а потом loader.efi и посмотреть что будет.
Приблизительно понял, не показывает "меню, где нужно выбрать enroll hash" сразу синее окошко и ошибка.
Я же так понимаю что смысл один в обоих загрузчиках. Грубо говоря:
Грузим Shim
Потом MokManager
Путь к сертификату
Другой загрузчик.
как то так.....

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

    zxen
  • 32
  • Стаж: 9 лет 5 месяцев
  • Сообщений: 263
  • Репутация:21

    [+] [-]
  • Откуда: Siberia
Хм.. должно быть как то так http://askubuntu.com/questions/594747/how-to-use-th...ations-preloader
Да, смысл похожий, но какая разница там вроде присутствует
А можешь еще сделать так.. ? Сделать все так же как в загрузке refind, только вместо загрузчика refind, переименовать и подсунуть loader.efi из моего архива?

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

    Jurik43
  • 115
  • Стаж: 9 лет 3 месяца
  • Сообщений: 87
  • Репутация:0

    [+] [-]
  • Откуда: Саранск
Всем привет.Вот такое окно:ERRORFailed to start loader.efi: (2) Invalid Parametr

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

    zxen
  • 32
  • Стаж: 9 лет 5 месяцев
  • Сообщений: 263
  • Репутация:21

    [+] [-]
  • Откуда: Siberia
Ясно... спасибо за тест, видимо какое то недопонимание между загрузчиками.

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

    puhpol
  • 2
  • Стаж: 9 лет 5 месяцев
  • Сообщений: 888
  • Репутация:73

    [+] [-]
Хм... Господа, я вам больше скажу: заготовка сборки от mauzer ГРУЗИТ Grub2 в режиме Secure Boot.....
Архив со сборкой мне был послан в личных сообщениях, я поковырял и не увидел не чего нового.Но автор настаивал что оно работает с включенным Secure Boot, попробовал - РАБОТАЕТ!
Автор разрешил опубликовать и тему и сборку, пока выкладываю только здесь что бы протестировать....
mauzer ОГРОМНОЕ спасибо! ay
Теперь очень хочется узнать : Как вы это сделали? think
СКАЧАТЬ >> dy


Последний раз редактировалось: puhpol (2015-11-22 16:50), всего редактировалось 1 раз

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

    zxen
  • 32
  • Стаж: 9 лет 5 месяцев
  • Сообщений: 263
  • Репутация:21

    [+] [-]
  • Откуда: Siberia
puhpol, Хм.. в bootx64 обнаружил строки:
Washington10URedmond10U
Microsoft Corporation1200U)Microsoft Root Certificate Authority 20100
100701213655Z
250701214655Z0|1 0 UUS10U
Washington10URedmond10U
Microsoft Corporation1&0$UMicrosoft Time-Stamp PCA 20100‚"0
Насколько я знаю, Grub2 микрософт не давал никаких сертификатов...
Еще выяснил, что он не работает без файлика fallback.efi
Нашел что это, без Shim не обошлось http://blog.uncooperative.org/blog/2014/02/06/the-e...ystem-partition/


Последний раз редактировалось: zxen (2015-11-22 18:09), всего редактировалось 4 раз(а)

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

    sergeysvirid
  • 104
  • Стаж: 9 лет 4 месяца
  • Сообщений: 2496
  • Репутация:127

    [+] [-]
  • Откуда: 65 регион (GMT+11)
14838...я вам больше скажу:заготовка сборки от mauzer ГРУЗИТ Grub2 в режиме Secure Boot.....
Приветствую! aa
Интересный расклад... Спасибо mauzer ay
Прям захотелось разобраться в принципе загрузки Grub2 с включенным Secure Boot.
Единственный минус - я совершенно не знаком с загрузчиком Grub2 (следовательно и разбираться дольше придётся) af

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

    coka
  • 16
  • Стаж: 9 лет 5 месяцев
  • Сообщений: 155
  • Репутация:4

    [+] [-]
  • Откуда: СиСиСиПи
puhpol, Возможно работает, но не на всех компах. У меня не загрузилось ничего, без отключения Secure Boot
OCи на основе линухов запускал и раньше без отключения Secure Boot
search --set -f /LinuxOS/tails/live/initrd.img
linux /LinuxOS/tails/live/vmlinuz2 boot=live config live-media-path=/LinuxOS/tails/live apparmor=1 security=apparmor nopersistent noprompt quiet timezone=Europe/London block.events_dfl_poll_msecs=1000 splash noautologin module=Tails
initrd /LinuxOS/tails/live/initrd2.img
}
menuentry 'Linux Ubuntu 15.04 ' --class ubuntu {
search --set -f /LinuxOS/ubuntu/x64/ubuntu-15.04-desktop-amd64.iso
linux /LinuxOS/ubuntu/x64/vmlinuz.efi boot=casper iso-scan/filename=/LinuxOS/ubuntu/x64/ubuntu-15.04-desktop-amd64.iso persistent persistent-path=/LinuxOS/ubuntu/x64/ locale=ru_RU console-setup/layoutcode=ru noprompt noeject
initrd /LinuxOS/ubuntu/x64//initrd.lz
}
menuentry 'Slax Russian 7.0.8 ' --class slax {
search --set -f /LinuxOS/slax/x64/slax/boot/vmlinuz
linux /LinuxOS/slax/x64/slax/boot/vmlinuz from=/LinuxOS/slax/x64/slax/ load_ramdisk=1 prompt_ramdisk=0 rw printk.time=0 slax.flags=perch,xmode changes=/LinuxOS/slax/x64/slax/
initrd /LinuxOS/slax/x64/slax/boot/initrfs.img
}
menuentry "Start GeeXboX 3.1 " --class geexbox {
search --set -f /LinuxOS/GeeXboX/x64/vmlinuz
linux /LinuxOS/GeeXboX/x64/vmlinuz rootfs=/LinuxOS/GeeXboX/x64/rootfs persistent persistent-path=/LinuxOS/GeeXboX/x64/ quiet splash loglevel=3 boot=casper
initrd /LinuxOS/GeeXboX/x64/initrd
}
menuentry "Debian Live 8.1.0 MATE Desktop" --class debian {
search --set -f /LinuxOS/Debian/x64/debian-live-8.1.0-amd64-mate-desktop.iso
linux /LinuxOS/Debian/x64/vmlinuz boot=live findiso=/LinuxOS/Debian/x64/debian-live-8.1.0-amd64-mate-desktop.iso components locales=ru_RU.UTF-8 quiet splash
initrd /LinuxOS/Debian/x64/initrd.img
}
menuentry "openSUSE Live 13.1 KDE " --class suse {
search --set -f /LinuxOS/openSUSE/x64/openSUSE-13.1-KDE-Live-x86_64.iso
linux /LinuxOS/openSUSE/x64/linux isofrom=/dev/sdb1/LinuxOS/openSUSE/x64/openSUSE-13.1-KDE-Live-x86_64.iso isofrom_device=/dev/sdb1 isofrom_system=/LinuxOS/openSUSE/x64/openSUSE-13.1-KDE-Live-x86_64.iso lang=ru_RU toram --
initrd /LinuxOS/openSUSE/x64/initrd
}[/spoiler">

]menuentry "The Amnesic Incognito Live System " --class tails {
search --set -f /LinuxOS/tails/live/initrd.img
linux /LinuxOS/tails/live/vmlinuz2 boot=live config live-media-path=/LinuxOS/tails/live apparmor=1 security=apparmor nopersistent noprompt quiet timezone=Europe/London block.events_dfl_poll_msecs=1000 splash noautologin module=Tails
initrd /LinuxOS/tails/live/initrd2.img
}
menuentry 'Linux Ubuntu 15.04 ' --class ubuntu {
search --set -f /LinuxOS/ubuntu/x64/ubuntu-15.04-desktop-amd64.iso
linux /LinuxOS/ubuntu/x64/vmlinuz.efi boot=casper iso-scan/filename=/LinuxOS/ubuntu/x64/ubuntu-15.04-desktop-amd64.iso persistent persistent-path=/LinuxOS/ubuntu/x64/ locale=ru_RU console-setup/layoutcode=ru noprompt noeject
initrd /LinuxOS/ubuntu/x64//initrd.lz
}
menuentry 'Slax Russian 7.0.8 ' --class slax {
search --set -f /LinuxOS/slax/x64/slax/boot/vmlinuz
linux /LinuxOS/slax/x64/slax/boot/vmlinuz from=/LinuxOS/slax/x64/slax/ load_ramdisk=1 prompt_ramdisk=0 rw printk.time=0 slax.flags=perch,xmode changes=/LinuxOS/slax/x64/slax/
initrd /LinuxOS/slax/x64/slax/boot/initrfs.img
}
menuentry "Start GeeXboX 3.1 " --class geexbox {
search --set -f /LinuxOS/GeeXboX/x64/vmlinuz
linux /LinuxOS/GeeXboX/x64/vmlinuz rootfs=/LinuxOS/GeeXboX/x64/rootfs persistent persistent-path=/LinuxOS/GeeXboX/x64/ quiet splash loglevel=3 boot=casper
initrd /LinuxOS/GeeXboX/x64/initrd
}
menuentry "Debian Live 8.1.0 MATE Desktop" --class debian {
search --set -f /LinuxOS/Debian/x64/debian-live-8.1.0-amd64-mate-desktop.iso
linux /LinuxOS/Debian/x64/vmlinuz boot=live findiso=/LinuxOS/Debian/x64/debian-live-8.1.0-amd64-mate-desktop.iso components locales=ru_RU.UTF-8 quiet splash
initrd /LinuxOS/Debian/x64/initrd.img
}
menuentry "openSUSE Live 13.1 KDE " --class suse {
search --set -f /LinuxOS/openSUSE/x64/openSUSE-13.1-KDE-Live-x86_64.iso
linux /LinuxOS/openSUSE/x64/linux isofrom=/dev/sdb1/LinuxOS/openSUSE/x64/openSUSE-13.1-KDE-Live-x86_64.iso isofrom_device=/dev/sdb1 isofrom_system=/LinuxOS/openSUSE/x64/openSUSE-13.1-KDE-Live-x86_64.iso lang=ru_RU toram --
initrd /LinuxOS/openSUSE/x64/initrd
}[/spoiler

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

    zxen
  • 32
  • Стаж: 9 лет 5 месяцев
  • Сообщений: 263
  • Репутация:21

    [+] [-]
  • Откуда: Siberia
coka, А у него походу UEFI просто уже знает shim, с прошлых экспериментов, поэтому грузит, надо на свежих компах проверять

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

    oleg_krsk
  • 952
  • Стаж: 8 лет 10 месяцев
  • Сообщений: 212
  • Репутация:0

    [+] [-]
Не отсюда ноги, изначальное решение проблемы.
http://ubuntuforums.org/archive/index.php/t-2203742.html
http://forum.ubuntu.ru/index.php?PHPSESSID=sbs6953d...p;topic=167665.0

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

    puhpol
  • 2
  • Стаж: 9 лет 5 месяцев
  • Сообщений: 888
  • Репутация:73

    [+] [-]
Приветствую Господа!
Не тестировал вообще, загрузилось и выложил....(причем грузил только загрузчик, программы не запускал)
Сегодня работал, да и воскресенье. Не собрать мозги в кучу, все в разные стороны кидает....
Оно понятно, что чудес не бывает. И что или shim или loader как то там присутствует.....
Читал что под LINUX есть утилита efibootmgr для работы с загрузчиками (но это только мои фантазии, так как все на буржуйском).

Страница 1 из 29


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

Текущее время: 16-Апр 11:05

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


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