Universal Extensible Firmware Interface (UEFI) в Calculate Linux

UEFI (Universal Extensible Firmware Interface, Универсальный Расширяемый Интерфейс для Прошивок) — дальнейшее развитие проекта Intel под названием EFI, который был предназначен для того, чтобы наделить BIOS дружественным к пользователю интерфейсом, а так же решить многие другие проблемы, типичные для ПК.

uefi50.jpg

Старая система BIOS вот уже более 25 лет используется для загрузки компьютеров. Вполне естественно, что сегодня она себя уже изжила. Новое загрузочное окружение UEFI призвано заменить старую систему BIOS и устранить все недостатки. Так, только UEFI позволит вам загрузиться с системного раздела больше 2 Тбайт.

В то время как BIOS по сути своей является весьма жестким и фактически неизменным по содержанию кодом прошивки специального BIOS-чипа, система UEFI — скорее гибко программируемый интерфейс. А расположен этот интерфейс поверх всех аппаратных компонентов компьютера с их собственными прошивками-микрокодами. В отличие от загрузочного кода BIOS, который всегда жестко прошит в соответствующем чипе на системной плате, куда более обширные по размеру коды UEFI находятся в специальной директории /EFI/, место физического расположения которой может быть самым разнообразным — от микросхемы памяти на плате или раздела на жестком диске компьютера и до внешнего сетевого хранилища.

С середины марта 64 битные гибридные live образы стали поддерживать два варианта загрузки обычный (BIOS legacy) и UEFI. Обычный, как раньше, использует syslinux для выбора параметров запуска, UEFI - GRUB2.

grub_uefi_50.png

Начиная с версии 3.1.5 в утилитах Calculate появилась возможность устанавливать систему с UEFI загрузкой. Стейдж 20130401 уже полностью поддерживает UEFI: как возможность загрузки live системы в режиме UEFI, так и установки.

Для того, чтобы установить Calculate с UEFI загрузчиком, необходимо:

  • материнская плата поддерживающая UEFI загрузку
  • диск с таблицей разделов GPT
  • раздел на диске объемом 200 Мб отмеченный типом EF00 и отформатированный как FAT32
  • Calculate Linux x86_64 загруженный в режиме UEFI
  • Calculate утилиты версии 3.1.5_beta1 и выше

Установка на Flash диск может быть выполнена как через dd, так и через cl-install.

Для UEFI установки в cl-install добавлен параметр --uefi [ON/OFF], а так же расширены параметры авторазметки диска. Таким образом для установки системы в режиме UEFI, необходимо загрузиться в этом режиме и выполнить cl-install, добавив к остальным параметрам --uefi, либо выполнить установку с авторазметкой:

cl-install --uefi on -d /dev/sda2:swap -d /dev/sda3:/

cl-install --autopartition -D /dev/sda

В графическом установщике эти параметры можно выбрать на шагах “Распределение места на диске” и “Точки монтирования”.

install_gui50.png

EFI раздел определяется автоматически. Если же таких разделов несколько (на разных дисках), то можно указать конкретный раздел при помощи точки монтирования EFI: “-d /dev/sda1:EFI”. Так же этот параметр автоматически подготовит указанный раздел согласно выше описанным условиям.

Если установка завершится успешно - перезагружайтесь и увидите в списке загрузочных устройств BIOS запись calculate.

Просмотр и управление текущими загрузочными записями UEFI можно осуществить при помощи команды efibootmgr.

efibootmgr

BootCurrent: 0000
Timeout: 1 seconds
BootOrder: 0000,0001,0002
Boot0000* calculate
Boot0001* Hard Drive 
Boot0002* UEFI: Built-in EFI Shell

Изменение переменных UEFI может не поддерживаться ядром и утилитой efibootmgr, поэтому если в конце установщик сообщает, что ему не удалось создать загрузочную запись, придется ждать новых версий ядра.

А тем, которые установили систему до середины марта, что делать?

Есть ещё проблема - fdisk не поддерживает GPT разделы, partitionmanager уже давно не функционирует http://www.calculate-linux.ru/boards/7/topics/20961

А тем, которые установили систему до середины марта, что делать?

Использовать обычную (не UEFI) загрузку. Как и раньше. Поддержка загрузки ОС через обычный BIOS никуда не денется.

Есть ещё проблема - fdisk не поддерживает GPT разделы,

Есть утилита gdisk.

Mikhail Hiretsky писал(а):

Использовать обычную (не UEFI) загрузку. Как и раньше. Поддержка загрузки ОС через обычный BIOS никуда не денется.

я понимаю, что не денется - я спрашивал, возможно ли “подключить” UEFI загрузку без переустановки системы?

Mikhail Hiretsky писал(а):

Есть ещё проблема - fdisk не поддерживает GPT разделы,
Есть утилита gdisk.

Я знаю, это было обращение к автору топика, что с учетом частоты использования пользователями fdisk (а так же именно она фигурирует в официальном руководстве по установке Calculate), этот нюанс стоит уточнить.
Так же по поводу gdisk - официально на х86-64 он считается тестовым.

Так, только UEFI позволит вам загрузиться с системного раздела больше 2 Тбайт.

Вроде как для загрузки с разделов >2Tb достаточно GPT и раздел “BIOS boot partition” (код EF02).
А uefi в этом случае требует только винда.

На ноутбуке ( Sony D1121Z ) установлена Windows 8 ( UEFI ) и Calculate CLD x86_64 ( Legacy ). Выбираю использование существующих разделов и загрузку UEFI.
Указываю разделы и точки монтирования Calculate и загрузочный раздел UEFI от Windows c точкой монтирования /boot/efi.
Получаю сообщение установщика : Необходим раздел “bios_grub”.
Что это означает и как устанавливать ?

Параметр “--uefi on” указывали?

Установщик графический, поставил “птицу” на загрузке UEFI.

А систему загрузили в режиме UEFI или в обычном?

Естественно UEFI. Вопрос задал после проверки всех параметров.

Попробуйте не выбирать загрузочный диск.

Спасибо, установщик заработал.
К сожалению, в конце выдал сообщение : Не удалось создать загрузочную запись UEFI.

Скорее всего не создаются записи утилитой efibootmgr. А какая материнская плата?

Как я понимаю Intel.
В технических характеристиках сказано :

Платформа Ultrabook™. Inspired by Intel. Intel® Core™ I7 processor
Чипсет Intel® HM76 Express.

Удаляя загрузочные записи виндовс с помощью efibootmgr - удалил BootOrder: 0000,0001,0002…
в итоге получилось вот так:
BootOrder: 0000

пересобрал ядро, перезагрузил систему, получил кернел паник ((
теперь не грузится система, и с флешки не могу загрузить, так как в биос в Boot menu осталась лишь загрузочная запись системы… может кто помочь? или придется нести в сервис, производитель самсунг помочь не смог.