UEFI: различия между версиями
м (→решение проблем: +mskb2902864) |
м (доякорил) |
||
Строка 3: | Строка 3: | ||
= Поддержка UEFI в ALT Linux = | = Поддержка UEFI в ALT Linux = | ||
<div name="goal"></div> | |||
== Цель == | == Цель == | ||
Обеспечить возможность совместного использования с ОС, установленными в UEFI-режиме, без мороки с переключением BIOS/UEFI; предоставить возможность использования UEFI-«железа» без CSM<ref>2013: такое уже начинает появляться</ref>. | Обеспечить возможность совместного использования с ОС, установленными в UEFI-режиме, без мороки с переключением BIOS/UEFI; предоставить возможность использования UEFI-«железа» без CSM<ref>2013: такое уже начинает появляться</ref>. | ||
{{main|План выпуска бранча p7}} | {{main|План выпуска бранча p7}} | ||
<div name="status"></div> | |||
== Состояние == | == Состояние == | ||
Релиз. Нормально устанавливаемся на bare metal и в мультизагрузку с, например, openSUSE 12.2 и Windows 8. | Релиз. Нормально устанавливаемся на bare metal и в мультизагрузку с, например, openSUSE 12.2 и Windows 8. | ||
<div name="results"></div> | |||
== Результат == | == Результат == | ||
По состоянию на декабрь 2013 года поддержка UEFI включена в выпуски дистрибутивов версий 7.0.2 (или их RC) и [[Regular|регулярные сборки образов]], включая возможность работы без отключения Secure Boot. | По состоянию на декабрь 2013 года поддержка UEFI включена в выпуски дистрибутивов версий 7.0.2 (или их RC) и [[Regular|регулярные сборки образов]], включая возможность работы без отключения Secure Boot. | ||
Строка 18: | Строка 20: | ||
* не поддерживается /boot/efi на программном RAID1, {{altbug|28827#c15}} | * не поддерживается /boot/efi на программном RAID1, {{altbug|28827#c15}} | ||
Для серверов и рабочих станций пока рекомендуется BIOS-режим (CSM).}} | Для серверов и рабочих станций пока рекомендуется BIOS-режим (CSM).}} | ||
<div name="usage"></div> | |||
== Применение == | == Применение == | ||
Как обычно; [http://www.rodsbooks.com/efi-bootloaders/principles.html отличия] состоят в разбивке и установке загрузчика: | Как обычно; [http://www.rodsbooks.com/efi-bootloaders/principles.html отличия] состоят в разбивке и установке загрузчика: | ||
Строка 39: | Строка 41: | ||
{{attention|Не пытайтесь запускать '''efibootmgr''' на оборудовании '''Apple''',<br />[http://www.rodsbooks.com/efi-bootloaders/installation.html известны] случаи '''повреждения''' его firmware таким образом.}} | {{attention|Не пытайтесь запускать '''efibootmgr''' на оборудовании '''Apple''',<br />[http://www.rodsbooks.com/efi-bootloaders/installation.html известны] случаи '''повреждения''' его firmware таким образом.}} | ||
{{attention|Известны аналогичные случаи для некоторых ноутбуков '''[http://www.opennet.ru/opennews/art.shtml?num=35973 Samsung]'''<br />и '''[http://www.opennet.ru/opennews/art.shtml?num=39018 Lenovo]''' с [http://www.opennet.ru/openforum/vsluhforumID3/93887.html#60 Phoenix UEFI], будьте осторожны и изучите отзывы заранее!}} | {{attention|Известны аналогичные случаи для некоторых ноутбуков '''[http://www.opennet.ru/opennews/art.shtml?num=35973 Samsung]'''<br />и '''[http://www.opennet.ru/opennews/art.shtml?num=39018 Lenovo]''' с [http://www.opennet.ru/openforum/vsluhforumID3/93887.html#60 Phoenix UEFI], будьте осторожны и изучите отзывы заранее!}} | ||
<div id="sekirboot"></div> | <div id="sekirboot"></div> | ||
=== Secure Boot === | === Secure Boot === | ||
Строка 45: | Строка 46: | ||
==== сертификаты ==== | ==== сертификаты ==== | ||
Если нет доверия к Microsoft, можно подтвердить (enroll) сертификат ALT Linux, добавленный по пути {{path|EFI/enroll/altlinux.cer}}. Пошаговая процедура описана на [http://www.rodsbooks.com/efi-bootloaders/secureboot.html rodsbooks.com] (потребуются не все шаги). В выпусках 7.0.2 и регулярных сборках с конца ноября используется подписанный shim с этим сертификатом, т.е. [http://www.rodsbooks.com/efi-bootloaders/secureboot.html#disable отключать SecureBoot] необязательно. | Если нет доверия к Microsoft, можно подтвердить (enroll) сертификат ALT Linux, добавленный по пути {{path|EFI/enroll/altlinux.cer}}. Пошаговая процедура описана на [http://www.rodsbooks.com/efi-bootloaders/secureboot.html rodsbooks.com] (потребуются не все шаги). В выпусках 7.0.2 и регулярных сборках с конца ноября используется подписанный shim с этим сертификатом, т.е. [http://www.rodsbooks.com/efi-bootloaders/secureboot.html#disable отключать SecureBoot] необязательно. | ||
<div id="fastboot"></div> | <div id="fastboot"></div> | ||
==== безусловная загрузка ==== | ==== безусловная загрузка ==== | ||
Строка 54: | Строка 54: | ||
* в полученном приглашении cmd.exe сказать shutdown /s; | * в полученном приглашении cmd.exe сказать shutdown /s; | ||
* при включении, не теряя времени, "топтаться" по F12/F2/Del или какие ещё клавиши могут быть на этой модели. | * при включении, не теряя времени, "топтаться" по F12/F2/Del или какие ещё клавиши могут быть на этой модели. | ||
<div id="dualboot"></div> | <div id="dualboot"></div> | ||
==== двойная загрузка ==== | ==== двойная загрузка ==== | ||
Строка 71: | Строка 70: | ||
* выбор Windows в меню загрузки firmware (например, по F12) при необходимости; | * выбор Windows в меню загрузки firmware (например, по F12) при необходимости; | ||
* использование отличающегося от grub2 загрузчика (например, refind на инсталяционном диске в режиме поиска уже установленных ОС). | * использование отличающегося от grub2 загрузчика (например, refind на инсталяционном диске в режиме поиска уже установленных ОС). | ||
<div id="troubleshooting"></div> | <div id="troubleshooting"></div> | ||
==== решение проблем ==== | ==== решение проблем ==== | ||
Строка 77: | Строка 75: | ||
В качестве объезда можно '''отключить Secure Boot либо воспользоваться [http://ftp.linux.kiev.ua/pub/Linux/ALT/people/mike/secureboot/ специальной флэшкой]''', содержащей shim с подписью Microsoft, но без подписи ALT Linux, для дальнейшей загрузки с собственно установочной флэшки. Может пригодиться [http://support.microsoft.com/kb/2902864 отключалка] сообщения «Безопасная загрузка (SecureBoot) настроена неправильно». | В качестве объезда можно '''отключить Secure Boot либо воспользоваться [http://ftp.linux.kiev.ua/pub/Linux/ALT/people/mike/secureboot/ специальной флэшкой]''', содержащей shim с подписью Microsoft, но без подписи ALT Linux, для дальнейшей загрузки с собственно установочной флэшки. Может пригодиться [http://support.microsoft.com/kb/2902864 отключалка] сообщения «Безопасная загрузка (SecureBoot) настроена неправильно». | ||
<div id="vbox"></div> | <div id="vbox"></div> | ||
=== VirtualBox === | === VirtualBox === | ||
Желательна ветка 4.2 и выше, в 4.1 реализация EFI несколько странная и крайне задумчивая. Требуется 64-битный экземпляр со включенной галкой "EFI" в настройках материнской платы. ISO рекомендуется подключать через SATA-, а не IDE-контроллер (спасибо vsu@ за подсказку). Диск — динамический на 10Gb или больше, чтобы по возможности отрабатывала авторазбивка. | Желательна ветка 4.2 и выше, в 4.1 реализация EFI несколько странная и крайне задумчивая. Требуется 64-битный экземпляр со включенной галкой "EFI" в настройках материнской платы. ISO рекомендуется подключать через SATA-, а не IDE-контроллер (спасибо vsu@ за подсказку). Диск — динамический на 10Gb или больше, чтобы по возможности отрабатывала авторазбивка. | ||
Строка 93: | Строка 89: | ||
{{main|KVM}} | {{main|KVM}} | ||
<div id="HOWTO"></div> | <div id="HOWTO"></div> | ||
== Самостоятельная сборка == | == Самостоятельная сборка == | ||
Строка 111: | Строка 106: | ||
{{main|m-p|l1=mkimage-profiles}} | {{main|m-p|l1=mkimage-profiles}} | ||
<div name="refs"></div> | |||
== Примечания == | == Примечания == | ||
<references /> | <references /> |
Версия от 18:43, 6 апреля 2014
Поддержка UEFI в ALT Linux
Цель
Обеспечить возможность совместного использования с ОС, установленными в UEFI-режиме, без мороки с переключением BIOS/UEFI; предоставить возможность использования UEFI-«железа» без CSM[1].
Состояние
Релиз. Нормально устанавливаемся на bare metal и в мультизагрузку с, например, openSUSE 12.2 и Windows 8.
Результат
По состоянию на декабрь 2013 года поддержка UEFI включена в выпуски дистрибутивов версий 7.0.2 (или их RC) и регулярные сборки образов, включая возможность работы без отключения Secure Boot.
Реализация поддерживает запись на CD/DVD-болванку или USB-флэшку и загрузку в EFI mode или Legacy mode. Проверена на ASUS/Gigabyte/Lenovo UEFI и MacBook/MBP EFI.
- не поддерживается создание RAID на GPT-разделах, altbug #28247
- не поддерживается /boot/efi на программном RAID1, altbug #28827#c15
Применение
Как обычно; отличия состоят в разбивке и установке загрузчика:
- требуется подключить в /boot/efi существующий или новый FAT32-раздел с GPT-типом ESP (EFI System Partition) размером ~100—500 Мб;
- модуль установки загрузчика предложит вариант «EFI», с которым стоит согласиться[2].
Следует устанавливать 64-битные дистрибутивы; запуск 32-битного дистрибутива возможен в режиме BIOS/CSM (Compatibility Support Module), а в режиме EFI такая установка не будет сочтена загрузочной[3].
При загрузке с образа в EFI-режиме загрузчиком будет графический rEFInd либо совсем текстовое ELILO, в BIOS-режиме — синяя текстовая либо брендированная графическая менюшка SYSLINUX.
После собственно загрузки и логина именем root в EFI-режиме должны отработать команды
modprobe efivars efibootmgr
— в BIOS-режиме вторая из них скажет
Fatal: Couldn't open either sysfs or procfs directories for accessing EFI variables. Try 'modprobe efivars' as root.
При загрузке установленной системы типичным на сегодня будет почти обычный grub2-efi.
известны случаи повреждения его firmware таким образом.
и Lenovo с Phoenix UEFI, будьте осторожны и изучите отзывы заранее!
Secure Boot
сертификаты
Если нет доверия к Microsoft, можно подтвердить (enroll) сертификат ALT Linux, добавленный по пути EFI/enroll/altlinux.cer. Пошаговая процедура описана на rodsbooks.com (потребуются не все шаги). В выпусках 7.0.2 и регулярных сборках с конца ноября используется подписанный shim с этим сертификатом, т.е. отключать SecureBoot необязательно.
безусловная загрузка
Если попался ноутбук с трудносъёмным диском и неактивированной win8, который не даёт возможности попасть в фирмварь, не приняв EULA -- можно попробовать его жёстко выключить либо:
- возможно, переключиться на ENG комбинацией при помощи Alt-Shift;
- нажать Shift-F10;
- в полученном приглашении cmd.exe сказать shutdown /s;
- при включении, не теряя времени, "топтаться" по F12/F2/Del или какие ещё клавиши могут быть на этой модели.
двойная загрузка
Если после установки не загружается Windows 8 с ошибкой наподобие
Booting a command list /EndEntire file path: /ACPI(a0341d0,0)/PCI(2,1f)/UnknownMessaging(12) /HD(1,800,96000,fed12b717a32444e,81,b5)/File(\efi\Microsoft\Boot) /File(bootmgfw.efi)/EndEntire error: cannot load image.
— известны следующие объезды:
- отключение SecureBoot;
- выбор Windows в меню загрузки firmware (например, по F12) при необходимости;
- использование отличающегося от grub2 загрузчика (например, refind на инсталяционном диске в режиме поиска уже установленных ОС).
решение проблем
Если замечено, что на каком-либо оборудовании загружаются носители Windows и Ubuntu, но не ALT Linux/openSUSE/Ubuntu — это, скорее всего, ошибка в firmware при работе с более чем одной подписью (shim в Ubuntu подписан только Microsoft).
В качестве объезда можно отключить Secure Boot либо воспользоваться специальной флэшкой, содержащей shim с подписью Microsoft, но без подписи ALT Linux, для дальнейшей загрузки с собственно установочной флэшки. Может пригодиться отключалка сообщения «Безопасная загрузка (SecureBoot) настроена неправильно».
VirtualBox
Желательна ветка 4.2 и выше, в 4.1 реализация EFI несколько странная и крайне задумчивая. Требуется 64-битный экземпляр со включенной галкой "EFI" в настройках материнской платы. ISO рекомендуется подключать через SATA-, а не IDE-контроллер (спасибо vsu@ за подсказку). Диск — динамический на 10Gb или больше, чтобы по возможности отрабатывала авторазбивка.
Получить доступ к настройкам можно быстрым нажатием F8, пока промелькивает логотип VirtualBox.
Следует отметить, что NVRAM на виртуальном железе VirtualBox не переживает выключение экземпляра (это известная проблема). Т.е. установщик/efibootmgr не может добавить ссылку на grub, а если добавить её руками, она исчезнет при следующем запуске экземпляра. Объезд упомянут по этой же ссылке: выполнить в ещё загруженной системе
echo "fs0:\EFI\altlinux\grubx64.efi" > /boot/efi/startup.nsh
KVM
Нужно загрузить экземпляр kvm с TianoCore firmware.
Самостоятельная сборка
Достаточно хорошая поддержка сборки UEFI-загружаемых гибридных образов добавлена в текущий mkimage; в качестве образца можно использовать example4 из документации пакета, а суть требуемых изменений в профиле сводится к:
- добавлению в инсталер dosfstools (efibootmgr будет вытянут текущим alterator-grub);
- добавлению в базовую устанавливаемую систему grub2-efi и installer-feature-efi-stage3;
- добавлению в modules для propagator kernel/drivers/firmware ради efivars.ko;
- передаче mkimage переменной EFI_BOOTLOADER со значением elilo либо refind[4][5].
Для сборки образов требуется свежий Sisyphus либо p7/branch, в т.ч.:
- mkimage 0.2.5+ (для SB — 0.2.12+)[6]
- xorriso 1.2.4+
- syslinux 4.04-alt5+[7]
- evms 2.5.5-alt30+
- guile-evms 0.4-alt14+
- alterator-vm 0.4.2-alt1+
Примечания
- ↑ 2013: такое уже начинает появляться
- ↑ при установке загрузчика в MBR или раздел, а не ESP, загрузка в EFI mode не пройдёт
- ↑ OVMF в составе virtualbox обычно загружает EFI Shell, а поведение фирмварей на железе варьирует от представления меню пунктов загрузки до перехода к настройкам
- ↑ другие типы бутлоадеров ещё не реализованы, см. tools/mki-copy-efiboot
- ↑ что автоматически приведёт к добавлению в BOOT_TYPE значения efiboot
- ↑ рекомендуется также mkimage-profiles 1.1.18+ или свежий гит mkimage-profiles-desktop
- ↑ в апстриме syslinux нужное добавлено в 4.06
Ссылки
Важное:
- http://www.rodsbooks.com/efi-bootloaders/index.html
- https://wiki.archlinux.org/index.php/UEFI
- http://en.opensuse.org/KVM/UEFI_Secure_boot_using_qemu-kvm
Разное:
- http://www.opennet.ru/opennews/art.shtml?num=36068
- http://www.suse.com/blogs/uefi-secure-boot-overview/
- http://www.suse.com/blogs/uefi-secure-boot-plan/
- http://www.suse.com/blogs/uefi-secure-boot-details/
- http://cdimage.debian.org/cdimage/unofficial/efi-development/upload4/
- https://help.ubuntu.com/community/UEFI
- https://wiki.archlinux.org/index.php/UEFI_Bootloaders
- https://felipec.wordpress.com/2012/01/18/efi-adventures/
- http://mjg59.dreamwidth.org/4957.html
- http://mjg59.dreamwidth.org/20303.html
- про EULA и shift-reboot в windows 8
- http://jwboyer.livejournal.com/46149.html
- http://download.intel.com/support/motherboards/server/sr9000mk4u/sb/d71474002_sr9000mk4u_efi_userguide.pdf
- MacBookPro
- en:UEFI SecureBoot mini-HOWTO
- http://lwn.net/Articles/584629/