UEFI – що це? Завантаження, встановлення, переваги, особливості налаштування. UEFI - Уніфікований мікропрограмний інтерфейс, що розширюється.

1. Що таке UEFI?
UEFI (Unified Extensible Firmware Interface) є заміною BIOS, який краще відповідає вимогам сучасного різноманітного «заліза». За своєю суттю, UEFI є інтерфейсом, який відповідає за передзавантажувальне оточення операційної системи.

2. У чому переваги UEFI перед BIOS?

  • Підтримка носіїв об'ємом >2Тб
  • Простіша підготовка завантажувальних носіїв, відсутність необхідності запису різних завантажувальних секторів
  • Наявність власного менеджера завантаження. Тепер необов'язково заводити багаторівневу чехарду завантажувачів, щоб організувати мультизавантажувальне середовище, в EFI NVRAM штатно зберігаються всі записи про наявні завантажувачі, і перемикання між ОС, що завантажуються, здійснюється так само, як і між завантажувальними носіями.
  • Більш захищене середовище завантаження
  • Графічний режим конфігурації UEFI, з підтримкою графіки та миші

3. Чи можна оновити мій BIOS на UEFI?
Не зовсім. UEFI не можна прошити замість BIOS, оскільки він займає набагато більше пам'яті. Але є така штука, як DUET. Це завантажується з BIOS за допомогою окремого завантажувального розділу середовище UEFI, яке може бути корисним, якщо ви збираєтеся використовувати диски об'ємом >2Тб на своєму старому залізі з BIOS.

4. Чи можна завантажуватися з UEFI, як раніше, через завантажувальні сектори та MBR-диски?
Так, якщо у конфігурації UEFI включена підтримка Legacy Boot

5. Що таке GPT?
GUID Partition Table, GPT – стандарт формату розміщення таблиць розділів на жорсткому диску. Він є частиною інтерфейсу EFI. EFI використовує GPT там, де BIOS використовує MBR.

6. У чому переваги GPT перед MBR?

  • Підтримка носіїв об'ємом >2.2Тб
  • Відсутність обмеження на 4 основні розділи, і як наслідок-відсутність необхідності у логічних розділах
  • Підвищена безпека-GPT зберігає резервну копію таблиці розділів наприкінці диска, у разі неполадок існує можливість відновлення розмітки з допомогою запасний таблиці.
  • Захист від пошкодження застарілими програмами за допомогою Protective MBR
  • Існує можливість використання старих завантажувальних секторів.

7. Де в GPT зберігаються аналоги завантажувальних секторів?
EFI використовує для зберігання завантажувачів папку EFI/boot, що знаходиться в корені розділу FAT32. За промовчанням має завантажуватися файл /EFI/boot/bootx64.efi
Якщо диск, що завантажується, розмічений у стилі MBR, то наявність файлової системи FAT32 на першому розділі (якщо їх кілька) і файлу з завантажувачем, що лежить по дефолтному шляху, є єдиними умовами завантаження з цього носія (CD/DVD теж підтримуються). У випадку, якщо диск розмічений у стилі GPT, розділ необов'язково має бути першим, але у нього повинен бути прапор boot (перевірити і виставити можна через gparted)

8. Чи можливо конвертувати диск з MBR на GPT і назад без втрати даних?
Так. Для цього потрібно завантажувальний диск/флешка з Gparted. Після завантаження із завантажувального носія відкриється вікно gparted, у якому у верхньому правому куті буде відображено робочий диск (зазвичай це /dev/sda). Необхідно запам'ятати ім'я диска, який ви хочете конвертувати, відкрити термінал і набрати там sudo gdisk /dev/sda де замість sda, при необхідності, потрібно підставити ім'я вашого диска. Потім потрібно ввести команду w та підтвердити запис таблиці GPT на диск. Все, диск перетворено на таблицю GPT. Для зворотної конвертації в MBR необхідно так само відкрити gdisk для вашого диска, і послідовно набрати команду r, потім g, після чого підтвердити запис нової таблиці за допомогою команди w.

9. Що таке UEFI Shell?
Це середовище роботи з оточенням EFI (терміналоподібне), що дозволяє на ходу запускати efi-сумісні завантажувачі, виконувати найпростіші операції з файлами, а також оперувати вбудованим менеджером завантаження.

10. Як редагувати/видалити/додати пункти завантаження у меню завантаження UEFI?
Качаємо UEFI Shell, копіюємо його у файл /EFI/boot/bootx64.efi на FAT32 флешку, і завантажуємося з неї. Після вдалого завантаження шелла має з'явитися запрошення командного рядка
Shell>
Вище запрошення має відобразитись список наявних підключених дисків (fs0:, fs1:, BLK0 тощо). Щоб ще раз викликати цей список у разі потреби, скористайтесь командою
map fs*
З повного імені диска можна отримати деяку інформацію про диск. Наприклад:
PciRoot(0x0)/Pci(0x1,0x1)/Ata(0x0)/HD(1,MBR,0x27212721,0x3F,0x13FA6D9)
звідси
Ata(0x0)-інтерфейс підключення диска, а також порт контролера
HD-це жорсткий диск
1-кількість розділів на диску
MBR-схема розмітки

Знайшовши таким чином необхідний диск, потрібно перейти до нього
fs0:
потім за допомогою старих добрих досовських команд dir і cd потрібно намацати і перейти до каталогу із завантажувальними efi-файлами. Зазвичай це /EFI/boot/. Потім, перебуваючи в цьому каталозі, можна, ввівши ім'я завантажувача, відразу ж завантажитися в нього. Щоб додати потрібний файл до списку завантажувальних записів, бажано спочатку вважати вже наявні записи за допомогою команди
bcfg boot dump
Потім, щоб додати файл завантаження до цього списку, потрібно ввести
bcfg boot add N filename.efi "label"
Де N-порядковий номер запису (якщо на його місці щось було- цей пункт перезапишеться)
filename.efi-ім'я файлу із завантажувачем
label-ім'я, під яким цей запис буде відображатися у списку
Можна знову переглянути список завантажувальних записів через
bcfg boot dump
і переконатися, що все на місці. Можна перезавантажуватись та перевіряти.
Для видалення запису зі списку використовується команда
bcfg boot rm N
де N-номер запису

11. Що таке Secure Boot?
Специфікація Secure Boot розроблена Microsoft в рамках проекту UEFI і дозволяє захистити завантажувальне середовище від втручання в завантажувальні файли шляхом контролю підписів файлів, що завантажуються, на предмет їх відповідності білому списку ключів, зашитих у uefi як довірені. "Побічним ефектом" такого захисту від руткітів є неможливість встановлення ОС, відмінної від Windows 8 (на даний момент тільки вона підтримує Secure Boot), а також унеможливлює запуск зі старих mbr дисків і завантажувальних CD-дисків/флешок.

12. Як вимкнути Secure Boot?


13. Як зробити UEFI-сумісну флешку з дистрибутивом ОС?
У більшості випадків все дуже просто:

  1. Відформатуйте флешку у файлову систему FAT32
  2. Скопіюйте на неї весь вміст iso-образу дистрибутива

Але у випадку з ОС Windows Vista/7 потрібно попередньо підготувати дистрибутив, т.к. вони спочатку не містять EFI-файлів у потрібних місцях. Відразу невелике застереження-windows підтримує роботу з uefi тільки в 64-бітових редакціях.

14. Як дізнатися, що завантажувальна флешка зроблена правильно, і буде завантажуватися в UEFI-режимі?
Якщо все зроблено правильно, то у списку завантажувальних носіїв повинні з'явитися два пристрої з однаковим ім'ям, але різними префіксами, UEFI:і USB:. Через перший здійснюється завантаження в UEFI режимі, через другий-Legacy завантаження із завантажувального сектора.

15. Що таке Fast Boot Mode?
Режим швидкого завантаження, у якому управління майже відразу передається операційній системі, ще готовності до роботи устаткування, ініціалізацію якого проводить сама ОС. Fast Boot виключає затримки, спричинені подвійною ініціалізацією пристроїв. У «класичному» режимі після отримання керування операційна система ініціалізує повторно вже раніше ініціалізовані BIOS пристрої. Враховуючи те, що ініціалізація деяких типів пристроїв є досить тривалим процесом, виграш у швидкості очевидний. При включенні Fast Boot керування передається системі раніше, ніж здійснюється ініціалізація USB, що призводить до недоступності USB-накопичувачів та клавіатури до стартувстановленої на диск системи. Оскільки Microsoft пред'являє досить жорсткі вимоги до часу, коли має вкластися прошивка при включеному режимі Fast Boot, а ініціалізація USB-пристроїв може займати секунди, до моменту старту системи USB-пристрою залишаються неініціалізованими. У цьому випадку проявляється зворотний бік медалі – користувач комп'ютера з USB-клавіатурою не може перервати процес початкового завантаження та ініціювати встановлення іншої системи, оскільки клавіатура залишається неробочою до моменту запуску ОС. Більш того, ініціалізація чіпа i8042 теж вимагає часу і на деяких ноутбуках виробники прошивки залишають неініціалізовану вбудовану клавіатуру з інтерфейсом PS/2.

Extensible Firmware Interface

Extensible Firmware Interface (EFI)- інтерфейс між операційною системою та мікропрограмами, що керують низькорівневими функціями обладнання, його основне призначення: коректно ініціалізувати обладнання при включенні системи та передати управління завантажувачу операційної системи. EFI призначений для заміни BIOS – інтерфейсу, який традиційно використовується всіма IBM PC-сумісними персональними комп'ютерами. Перша специфікація EFI була розроблена Intel, пізніше від першої назви відмовилися і остання версія стандарту зветься Unified Extensible Firmware Interface (UEFI). В даний час розробкою UEFI займається Unified Forum EFI.

Історія

Спочатку EFI створювалася для перших систем Intel-HP Itanium на початку 2000-х років. Обмеження PC-BIOS (16-бітовий код, що адресується пам'ять 1 Мбайт, апаратні обмеження IBM PC/AT і т. д.) були явно неприпустимі у великих серверних платформах, для використання в яких планувався Itanium. Спочатку називався - Intel Boot Initiative (Завантажувальна Ініціатива Intel), пізніше було перейменовано на EFI.

Специфікацію EFI 1.02 було випущено Intel 12 грудня 2000 року. (Версія 1.01 мала проблеми у юридичному плані, пов'язані з торговою маркою, та була швидко вилучена).

Специфікацію EFI 1.10 було випущено 1 грудня 2002 року. Вона включала модель драйвера EFI, а також кілька незначних покращень порівняно з версією 1.02.

У 2005 році Intel внесла цю специфікацію до UEFI Forum, який тепер відповідальний за розвиток та просування EFI. EFI був перейменований в Unified EFI (UEFI), щоб відобразити цю зміну, при цьому більша частина документації використовує обидва терміни.

UEFI Forum випустив специфікацію 2.1 UEFI 7 січня 2007 року. Вона додала і покращила криптографію, встановлення справжності мережі та архітектуру користувальницького інтерфейсу.

Поточна специфікація UEFI версії 2.3.1 була представлена ​​у квітні 2011 року.

Інтерфейс, визначений специфікацією EFI, включає таблиці даних, що містять інформацію про платформу, завантажувальні та runtime-сервіси, доступні для завантажувача операційної системи (ОС) і самої ОС. Деякі існуючі розширення BIOS, типу ACPI і SMBIOS, також присутні в EFI, оскільки не вимагають 16-розрядного runtime-інтерфейсу.

Сервіси

EFI визначає «завантажувальні сервіси», які включають підтримку текстової та графічної консолі на різних пристроях, шин, блоків та файлових сервісів, та runtime-сервіси, наприклад, дата, час та енергонезалежна пам'ять.

Драйвери пристроїв

На додаток до стандартних, архітектурно-залежних драйверів пристроїв, специфікація EFI передбачає незалежне від платформи середовище драйверів, назване EFI Byte Code(EBC). Від системного вбудованого програмного забезпечення (firmware) специфікацією UEFI потрібно мати інтерпретатор для будь-яких образів EBC, які завантажені або можуть бути завантажені в середу. У цьому сенсі EBC подібний до Open Firmware, незалежного від апаратних засобів, що вбудовується ПЗ, що використовується в комп'ютерах Apple Macintosh і Sun Microsystems SPARC.

Деякі архітектурно-залежні типи драйверів EFI (non-EBC) можуть мати інтерфейси для використання ОС. Це дозволяє операційній системі використовувати EFI для базової підтримки графіки та мережі до завантаження драйверів, визначених в операційній системі.

Менеджер завантаження

Менеджер завантаженнявикористовується для вибору та завантаження ОС, виключаючи потребу у спеціалізованому механізмі завантаження (завантажувач ОС є додатком EFI).

Підтримка дисків

Крім стандартної схеми розмітки дисків - Master boot record (MBR), EFI має підтримку GUID Partition Table (GPT), яка вільна від характерних для MBR обмежень. Специфікація EFI не включає опис файлових систем, проте реалізації EFI зазвичай підтримують FAT32 як файлову систему.

Оболонка EFI

Співтовариство EFI створило відкрите середовище оболонки (shell environment). Користувач для виконання деяких операцій може завантажити оболонку EFI (EFI shell) замість завантажувати ОС. Оболонка – додаток EFI; вона може постійно перебувати в ПЗУ платформи або пристрої, драйвери для якого знаходяться в ПЗУ.

Оболонка може використовуватися для виконання інших програм EFI, таких як налаштування, встановлення ОС, діагностика, утиліти конфігурації та оновлення прошивок. Вона також може використовуватися, щоб програти CD або DVD-носії без завантаження ОС, за умови, що програми EFI підтримують ці можливості. Команди оболонки EFI також дозволяють копіювати або переміщувати файли та каталоги в підтримуваних файлових системах, завантажувати та вивантажувати драйвери. Також оболонкою може використовуватися повний TCP/IP-стек.

Оболонка EFI підтримує сценарії у вигляді .nsh файлів , аналогічних пакетним файлам в DOS .

Назви команд оболонки часто успадковуються від інтерпретаторів командного рядка (COMMAND.COM чи Unix shell). Оболонка EFI може розглядатися як функціональна заміна інтерпретатора командного рядка та текстового інтерфейсу BIOS.

Розширення

Розширення EFI можуть бути завантажені практично з будь-якого енергонезалежного пристрою зберігання даних, приєднаного до комп'ютера. Наприклад, OEM-виробник може продати систему з розділом EFI на жорсткому диску, який додав би додаткові функції до вбудованого програмного забезпечення EFI, розміщеного в ПЗУ системної плати.

Реалізація

Intel Platform Innovation Framework для EFI

Intel Platform Innovation Framework для EFI ("інноваційний інструментарій Intel") - ряд специфікацій, розроблених Intel спільно з EFI. Якщо EFI визначає інтерфейс між ОС та firmware, то інструментарій визначає структури, що використовуються для створення вбудованого ПЗ на нижчому рівні, ніж інтерфейс між ОС та firmware.

Зокрема інструментарій включає всі кроки, необхідні для ініціалізації комп'ютера після включення. Ці внутрішні можливості вбудованого програмного забезпечення не визначені як частина специфікації EFI, але включені в специфікацію ініціалізації платформи (Platform Initialization Specification), розроблену UEFI. Інструментарій було перевірено на платформах XScale, Itanium та IA-32.

Сумісність з ОС для платформи x86, що вимагають роботи інтерфейсу «legacy BIOS», досягається за допомогою модуля підтримки сумісності(CSM). CSM включає 16-бітну програму (CSM16), що реалізується виробником BIOS і шар, що зв'язує CSM16 з інструментарієм.

Intel розробив еталонну реалізацію для інструментарію під кодовою назвою Tiano. Tiano - повна, legacy-free реалізація вбудованого ПЗ, що забезпечує підтримку EFI. Tiano не включає 16-бітну частину CSM, але забезпечує інтерфейси, потрібні для доповнень, реалізованих виробниками BIOS. Intel не надає повної реалізації Tiano для кінцевих користувачів.

Частина Tiano була випущена у вигляді вихідних текстів TianoCore проекту як EFI Developer Kit(EDK). Ця реалізація включає EFI і деякий код ініціалізації апаратних засобів, але не повністю розкриває особливостей безпосередньо вбудованого ПЗ. Декілька ліцензій використовувалися для цього коду, включаючи BSD license та Eclipse Public License .

Продукти, засновані на EFI, UEFI та специфікаціях інструментарію, доступні через незалежних виробників BIOS, наприклад, American Megatrends (AMI) та Insyde Software. Деякі реалізації виробників повністю засновані на Tiano, тоді як інші відповідають специфікаціям, але не ґрунтуються на еталонній реалізації Intel.

Платформи, що використовують EFI або інструментарій

Усі системи Itanium або Itanium 2, які випускаються з EFI-сумісним вбудованим ПЗ, повинні відповідати специфікації DIG64.

5 квітня 2006 року Apple випустила пакет Boot Camp, який дозволяє створити диск з драйверами Windows XP, а також містить неруйнівний інструмент розмітки дисків, що дозволяє встановити Windows XP спільно з Mac OS X. Також було випущено оновлення програмного забезпечення, яке додало підтримку BIOS для даної реалізації EFI. Наступні моделі Macintosh були випущені з оновленим ПЗ, що вбудовується. Тепер усі сучасні комп'ютери Macintosh можуть завантажувати BIOS-сумісні ОС, такі як Windows XP, Vista та Windows 7.

Велика кількість системних плат фірми Intel випускається з вбудованим програмним забезпеченням на основі інструментарію (наприклад, DP35DP). Так, протягом 2005 року було випущено більше одного мільйона систем Intel. Нові мобільні телефони, настільні комп'ютери та сервери, які використовують інструментарій, почали виробляти у 2006 році. Наприклад, всі системні плати, побудовані на наборі системної логіки Intel 945, використовують інструментарій. Однак вбудоване програмне забезпечення зазвичай не включає підтримку EFI і обмежене підтримкою BIOS.

З 2005 року EFI почав застосовуватися в не-ПК архітектурах, таких як системи, що вбудовуються на ядрі XScale.

EDK включає мету NT32, яка дозволяє вбудовуваному ПЗ EFI і програм EFI виконуватися в додатках Windows.

У 2008 році компанія MSI випустила лінійку системних плат на чіпсеті Intel P45 з підтримкою EFI,

Операційні системи

Графічні можливості

EFI підтримує графічні меню та деякі можливості, наприклад, здійснені Aptio або Great Wall UEFI.

Критика

EFI критикувався за те, що він привів до ускладнення системи, не даючи істотних переваг через відсутність від альтернативних реалізацій BIOS з повністю відкритими вихідними текстами - OpenBIOS і coreboot.

У вересні 2011 року Matthew Garrett попередив про те, що умови сертифікації комп'ютерів як сумісних із Microsoft Windows 8 можуть призвести до появи комп'ютерів, на які неможливо буде встановити будь-яку іншу операційну систему. Microsoft заявила, що постачальники можуть реалізувати можливість додавання інших підписів, і пізніше зробила це обов'язковою вимогою сертифікації, однак для пристроїв на ARM (раніше могла йти про мобільні пристрої з ОС Windows Phone, але якраз у ті дні Qualcomm оголосила про плани випуску субноутбуків з підтримкою Windows 8) вимога протилежна: відключення «безпечного завантаження» (і, відповідно, встановлення інших ОС) має бути неможливим.

Відмінності в процесі завантаження BIOS та UEFI

При розробці UEFI учасники форуму від початку встановили чіткі рамки для кожного процесу. Процедуру завантаження (PI, Platform Initialization - ініціалізація платформи) материнської плати, заснованої на UEFI, можна розділити на кілька етапів. Першим з них, наступним безпосередньо за включенням комп'ютера, є Pre-EFI Initialization (PEI): система завантажує модулі ініціалізації процесора, пам'яті та чіпсету та виконує їх. Потім здійснюється перехід до оточення виконання драйверів (DXE). У цей час проводиться активація інших компонентів, причому одночасно кількох.

У UEFI можна інтегрувати багато драйверів, не прив'язаних до певної системи. Це означає, що виробникам достатньо написати лише одну версію драйвера для всіх платформ. Завдяки ініціалізації драйверів на цьому ранньому етапі запуску можна отримати доступ до мережної плати, у тому числі функцій завантаження мережі або віддаленого обслуговування. Крім того, при активній графічній підсистемі можна насолоджуватися привабливим меню UEFI.

Найбільший виграш у часі запуску досягається завдяки тому, що відпадає необхідність пошуку завантажувача на всіх пристроях: завантажувальний диск призначається в UEFI на етапі установки ОС. Прискорення старту системи не єдина перевага UEFI. В окремому розділі EFI можна зберігати безліч додатків. Так, ще до завантаження самої ОС можна запустити програму діагностики, антивірусне програмне забезпечення або утиліту управління системою.

Перехід на платформу UEFI, що давно назрів, постійно відкладався. Тепер це в минулому, і багато в чому завдяки жорстким дискам ємністю 3 Тбайт, які вже доступні у продажу. BIOS ПК, використовуючи класичну MBR вінчестера, здатна отримувати доступ тільки до 232 секторів розміром 512 байт, тобто максимум до 2 Тбайт (2,2 ТБ) дискового простору. Seagate використовує сектори більшого розміру, щоб зробити всю ємність доступною хоча б після старту Windows. При цьому комп'ютер на основі BIOS не зможе завантажитись з такого диска. UEFI працює з таблицею розділів GUID (GPT, GUID Partition Table), в якій розмір адреси становить 64 біти, і підтримує до 2 64 секторів, тобто здатний звертатися до дев'яти зеттабайтів (9 млрд. терабайт).

Ще одна особливість UEFI – Безпечний протокол завантаження. Він дозволяє встановити один або кілька підписаних ключів для прошивки системи. Після увімкнення, “безпечне завантаження” UEFI запобігає завантаженню виконуваних файлів або драйверів, якщо вони не підписані одним із заздалегідь встановлених ключів. Інший набір ключів (Pkek) дозволяє підтримувати зв'язок між ОС та прошивкою. ОС разом з набором ключів відповідності Pkek, які організує зв'язок із встановленими в прошивку ключами, може додавати додаткові ключі до так званого “білого списку” в прошивці. Звичайно, крім цього вона може додати ключі до “чорного списку”. Бінарники, які відзначилися у чорному списку ключів, природно не спрацьовуватимуть під час завантаження.

Windows 8 спільно з UEFI 2.3.1 закривають дірку в безпеці поточної схеми BIOS, яка дозволяє будь-якому завантажувачу, у тому числі містить руткіт, завантажуватися раніше операційної системи. На відміну від BIOS, UEFI дозволятиме завантажуватися лише підтвердженим завантажувачам ОС у разі, якщо дозволено безпечне завантаження. Це означає, що шкідливе програмне забезпечення у завантажувачах перебувати більше не зможе. Microsoft стверджувала, що можливість відключити безпечне завантаження UEFI у користувачів все ж таки буде, якщо постачальники материнських плат реалізують цю функцію. Це дозволить встановлювати на персональні комп'ютери GNU/Linux та інші операційні системи, включаючи старі Windows. Але тут уже починає страждати захист і до того ж Windows 8 працювати не буде. Пізніше цю можливість було заборонено для мобільних пристроїв.

Див. також

Примітки

  1. Dong Wei. Beyond BIOS (foreword). Intel Press, 2006. ISBN 978-0-9743649-0-2
  2. Інформація про Unified EFI Forum
  3. Інформація про драйвер FAT для EFI (вимагає реєстрації)
  4. Інформація про оболонку EFI
  5. Intel Platform Innovation Framework для EFI на сайті Intel
  6. Universal Binary Programming Guidelines, Second Edition: Extensible Firmware Interface (EFI) Apple Computer
  7. Framework Overview Intel
  8. Інформація про EFI on Intel boards
  9. Попередній перегляд Intel Platform Innovation Framework
  10. HP Printers
  11. http://fr.msi.com/img/NEWS/P45-Leaflet_back.pdf
  12. EFI version of Grub (Debian Linux) - Retrieved on 1 May 2008.
  13. x86 EFI boot stub
  14. Образи ядра Linux і початкового системного оточення повинні або розташовуватися на системному розділі EFI, або дана реалізація EFI повинна бути здатна прочитати їх з файловою системою, що використовується даною інсталяцією Linux.
  15. Microsoft Pre-OS Video
  16. Extensible Firmware Interface Microsoft Windows Server TechCenter
  17. Microsoft bombshell: EFI support for Vista
  18. Mary Jo Foley. Vista SP1 beta 1 to launch in mid-July . ZDNet (8 липня 2007 року). Архівовано з першоджерела 2 березня 2012 року. Перевірено 20 липня 2007 року.
  19. Intel shows PC booting Windows with UEFI firmware

Персональний комп'ютер, незважаючи на постійні оновлення, «подвійні» реалізації та інші нововведення, по суті, так і залишався найбільш застарілим компонентом сучасних комп'ютерів. Починаючи з перших ПК в BIOS нічого кардинально не змінювалося. Його довгий час серйозно не чіпали виробники, побоюючись за те, що порушиться наступність базових функцій, необхідних правильного функціонування старих операційних систем.

Але старі системи пішли в минуле, а ті, що все ще використовуються, можна запускати за допомогою програмних емуляторів. Тому боротися зі старими звичками BIOS стало не дуже потрібно. Справді, при завантаженні за допомогою BIOS не отримати навіть відображення національних алфавітів, не кажучи вже про підтримку мережевих пристроїв, оптимальні режими роботи обладнання, зручні рішення по оновленню тощо.

Розповідь про те, що таке UEFI, краще розпочати з історії виникнення цієї технології.

Історія UEFI починається у середині 90-х років. Вже для потужних серверних платформ було недостатньо можливостей стандартного BIOS. Тому для перших систем Intel-HP Itanium було розроблено нову технологію, яка отримала назву Intel Boot Initiative. Трохи пізніше назва була змінена EFI або Extensible Firmware Interface.

Першою офіційною специфікацією стала EFI 1.02, яка з'явилася 12 грудня 2000 року. На початку 2002 року виникла специфікація 1.10. А вже у 2005 році було сформовано альянс компаній під назвою Unified EFI Forum або UEFI Forum, а сама технологія змінила назву з EFI на UEFI. Зараз розробкою UEFI займається UEFI Forum, до складу якого входять такі компанії як AMD, Apple, Dell, HP, American Megatrends, IBM, Intel, Lenovo, Insyde Software, Microsoft і Phoenix Technologies. Останньою специфікацією UEFI є специфікація за номером 2.3.1, яка була опублікована альянсом UEFI Forum у квітні 2011 року.

Переваги UEFI

Очевидно, що UEFI – це новий крок у розвитку персональних комп'ютерів. Але, які реальні переваги є використання даної технології замість старого доброго BIOS?

  • UEFI дозволяє виконувати завантаження операційної системи із жорстких дисків великого об'єму. Використовуючи BIOS, не можна завантажити операційну систему з об'ємом більше 2 Тб.
  • UEFI не залежить від архітектури процесора і може використовуватися як з процесорами x86, так і з процесорами на базі архітектури ARM. У той час як BIOS підтримує лише .
  • UEFI дозволяє використовувати графічну оболонку з підтримкою мишки, яка набагато зручніша за аскетичний інтерфейс BIOS. При цьому оболонка UEFI дозволяє виконувати багато завдань без використання операційної системи. Наприклад, підключатись до локальної мережі виходити в інтернет.
  • UEFI дозволяє завантажувати операційну систему значно швидше. Завдяки паралельному тестуванню компонентів комп'ютера час, який минає від моменту включення комп'ютера до моменту початку роботи операційної системи, може бути зменшено до 2-х секунд.
  • UEFI оснащена менеджером завантаження і дозволяє користувачеві вибирати, яку операційну систему він хоче завантажити. При цьому зникає необхідність використання спеціального механізму для вибору операційної системи всередині самого завантажувача операційної системи.
  • UEFI оснащена новими способами захисту від шкідливих програм.

Як тільки ми вмикаємо комп'ютер, у ньому негайно починає працювати мініатюрна операційна система, яку ми знаємо як BIOS. Вона займається тестуванням пристроїв, пам'яті, завантаженням операційних систем, розподілом ресурсів апаратури. Багато функцій цього набору програм (їх обсяг зазвичай близько 256-512 Кб) дозволяють підтримувати старі операційні системи на кшталт MS-DOS, надаючи їм багато можливостей. З часів PC/AT-8086 BIOS змінювався дуже мало, а на час запуску перших Пентіумів його розвиток майже зупинився. Власне, міняти в ньому стало нічого, крім подвійного BIOS, підтримки мережевих засобів та можливості перепрошивки. А ось мінусів стало багато: стартовий вхід у реальний режим процесора, 16-розрядна адресація та 1 Мб доступної пам'яті, неможливість мати «ремонтну» консоль. І, звичайно, вічна проблема підтримки жорстких дисків. Навіть зараз гарантовано підтримуються диски до 2,2 Тб, трохи більше.

Компанія Intel ще в 2005 році вирішила змінити BIOS на EFI/UEFI (Unified Extensible Firmware Interface). Система EFI – найбільш просунута базова операційна система. На деяких платформах Unix і Windows UEFI вже давно працює, але масового переходу поки що не відбулося, незважаючи на добрі наміри. А вони такі:

  • Наявність горезвісної консолі для ремонту системних параметрів та встановлення ОС;
  • Розділ EFI дає можливість здійснювати деякі дії без завантаження ОС (перегляд фільмів, запуск музики);
  • Вхід до Інтернету і, отже, наявність встановлених драйверів мережі, стека TCP/IP тощо);
  • Присутність графічного режиму та користувальницьких скриптів;
  • Підтримка гігантських за обсягом дисків;
  • Зберігання UEFI на розділах нового формату (GPT);
  • Повна підтримка усієї апаратури з моменту старту.

UEFI може використовувати універсальну виконувальну машину на зразок JVM для використання апаратно-незалежного коду, а це відкриває величезні горизонти для створення «завантажувального» ПЗ.

Існує і критика цієї технології. Зокрема, впровадження її може призвести до відсікання від ринку операційних систем нових гравців: для цього завжди знайдеться в коді якась технологічна лазівка. Як, наприклад, неможливість завантажувати ОС Windows 98 із сучасних BIOS. Але, що гірше, доведеться забути про мільйони програм MS-DOS та інших систем, які спиралися у роботі на функції BIOS. Можливо, вони ще емулюватимуться, але в цьому є сумніви. А серед них напевно є й важливі програми, які не буде кому переписувати. Втім, все це питання, що вирішуються, – хоча б за рахунок віртуальних операційних систем. Але те, що з'являться нові види вірусів – це точно, і ми зможемо побачити це досить скоро.

З виходом Windows 8 виробники стали активніше впроваджувати наступника BIOS – інтерфейс UEFI, який за час свого існування вже встиг завдати чимало неприємностей. Ми розповімо, як, незважаючи на це, скористатися його перевагами.

Масовий перехід на UEFI (Unified Extensible Firmware Interface) вже розпочався. Microsoft вимагає використовувати цей інтерфейс на всіх комп'ютерах, які будуть поставлятися з Windows 8. Точніше, йдеться про UEFI з функцією Secure Boot. При цьому без проблем працювати на подібних ПК може лише "вісімка": ні Windows XP, ні "сімка" не вдасться встановити на UEFI-машину без додаткових маніпуляцій.

З флеш-накопичувача Linux Live або Windows завантажитись теж не вийде. Що саме може статися, якщо спробувати запуститися з флешки на ноутбуці Sony VAIO, показано на картинці вгорі. І на цьому проблеми із UEFI не закінчуються. Кожен виробник апаратних компонентів на власний розсуд конфігурує UEFI, створюючи для користувача непотрібні труднощі. Лептоп IdeaPad від Lenovo і зовсім не зміг розпізнати той самий флеш-накопичувач як завантажувальний носій. При цьому Lenovo ні в чому дорікнути: справа в тому, що флешка завантаження відформатована у файловій системі NTFS, а UEFI не підтримує завантаження з таких носіїв. Якщо підключити цей же накопичувач до ноутбука EliteBook від HP, він завантажиться без проблем і дозволить виконати установку Windows. Проблема полягає в тому, що всі дані, що були на диску EliteBook, після встановлення виявилися б віддаленими.

Кожен конфігурує по-своєму

Ви збентежені? Не дивно: UEFI з функцією Secure Boot встановлює нові правила інсталяції та завантаження операційних систем, а виробники апаратних засобів по-своєму трактують ці правила, що створює для користувача додаткові складності. Тому в рамках цієї статті ми поставили собі за мету усунути плутанину навколо UEFI. На прикладі ноутбуків від основних виробників ми розповімо, як працює UEFI, яка роль відводиться функції Secure Boot, як обійти «пастки», що розставляються новим інтерфейсом, і що потрібно для того, щоб використовувати завантажувальні флеш-накопичувачі, не побоюючись ніяких руйнівних наслідків.

Як працює UEFI

UEFI завантажується суворо відповідно до встановлених правил. Якщо ОС не підтримує UEFI, активується режим емуляції BIOS. Процес завантаження ПК на основі BIOS досить простий: після натискання кнопки включення запускається BIOS, яка перевіряє стан обладнання та завантажує мікропрограмне забезпечення – прості драйвери для окремих апаратних компонентів. Після цього BIOS виконує пошук завантажувача ОС та активує його. Той, у свою чергу, завантажує операційну систему або виводить на екран список доступних ОС.

Комп'ютери на базі UEFI завантажуються аналогічним чином лише до пошуку параметрів завантаження. Після цього все відбувається інакше. UEFI має власний завантажувач ОС із інтегрованими менеджерами запуску встановлених систем. Для нього на диску створюється невеликий розділ (100-250 Мбайт), відформатований у файловій системі FAT32, який називається Extensible Firmware Interface System Partition (системний розділ мікропрограмного інтерфейсу, що розширюється, ESP). На ньому є драйвери апаратних компонентів, до яких може отримувати доступ запущена операційна система. Загальне правило таке: за винятком DVD, UEFI може завантажуватись тільки з носія, відформатованого у файловій системі FAT32.

UEFI – складний механізм

ESP має свої переваги: ​​завдяки драйверам UEFI і завантажувачу ОС, Windows запускається швидше і адекватніше реагує на критичні помилки драйверів. Але інтерфейс UEFI накладає й обмеження: він дозволяє встановлювати ОС тільки жорсткі диски, які розмічені за стандартом GPT. Останній не підтримується жодною версією BIOS, оскільки, на відміну традиційної схеми розмітки (MBR), використовує адреси секторів довжиною 64 біта. Крім Windows 8 інтерфейс UEFI підтримують лише 64-бітові версії Windows Vista та 7, а також Linux з ядром 3.2 та вище. Більш того, для ПК, сертифікованих для роботи з "вісімкою", компанія Microsoft пропонує використання опції Secure Boot. У цьому режимі UEFI запускає лише підтверджені завантажувачі ОС, які містять драйвери із цифровим підписом Microsoft.

Поряд з Windows 8 тільки завантажувач Shim (Linux) має драйвери з необхідними для Secure Boot підписами. В інших ОС вони відсутні. Тому, якщо ви захочете встановити на подібному комп'ютері окрім «вісімки» ще й Windows 7 або Vista, необхідно відкрити меню UEFI та вимкнути Secure Boot. Якщо в якості другої ОС ви оберете несумісну з UEFI, вам потрібно буде задіяти модуль підтримки сумісності (Compatibility Support Module, CSM), який можна включити до UEFI. На жаль, виробники використовують різні версії UEFI, і іноді складно зрозуміти, як вимкнути Secure Boot та перейти в режим емуляції BIOS. Ці питання ми розглянемо далі.

Процес завантаження ПК на основі UEFI

Залежно від конфігурації, UEFI або самостійно завантажує комп'ютер, або переходить у режим емуляції стандартної BIOS. Тільки після цього запускається менеджер завантаження Windows.

Встановлення Windows на ПК з UEFI та функцією Secure Boot На ПК з Windows 8 на базі UEFI Secure Boot інші версії ОС можна інсталювати лише за певних умов. Користувач повинен заздалегідь вибрати правильний режим завантаження і підготувати відповідний флеш-накопичувач.

Увімкнення режиму емуляції BIOS Повна плутанина: спосіб переходу в режим емуляції BIOS залежить від версії UEFI. На Sony VAIO (1) необхідно активувати опцію "Legasy", на ASUS Zenbook (2) - "Launch CSM".

Налаштування UEFI

Кожен виробник використовує у ноутбуках та ультрабуках свою версію UEFI. При цьому він відкриває доступ не до всіх потрібних функцій. Найчастіше під час завантаження ПК або лептопа на дисплей не відображається назва кнопки, за допомогою якої можна викликати меню налаштувань UEFI. Ми пропонуємо зробити так: в інтерфейсі Metro перейдіть в меню «Параметри | Змініть параметри комп'ютера» на бічній панелі та активуйте пункт «Загальні | Особливі варіанти завантаження». Після перезапуску з'явиться менеджер завантаження операційної системи, який дозволить відкрити меню UEFI. Винятком є ​​UEFI від HP, де ця опція відсутня. Тут допоможе наступне: під час завантаження утримуйте клавішу Esc. У будь-якому випадку необхідно спочатку дізнатися, яка кнопка дозволяє увійти до меню UEFI. Якщо ви зміните режим завантаження на CSM або Legasy BIOS, щоб завантажитись з аварійної флешки, після операції відновлення необхідно знову переключитися з CSM на UEFI, інакше Windows 8 не запуститься. Але тут є винятки: Aptio Setup Utility на комп'ютерах ASUS активує UEFI автоматично за відсутності сумісного з BIOS завантажувального носія, тому досить просто від'єднати флешку.

Вимкнення Secure Boot буде потрібне в тому випадку, якщо крім «вісімки» ви захочете встановити 64-бітну версію Windows Vista або 7. Іноді підтримується так званий гібридний режим, як у пристроях від HP, при якому UEFI може завантажуватися з усіх завантажувальних носіїв і за необхідності перемикатися в режим BIOS. У широко поширеній версії UEFI InsydeH2O це залежить від того, передбачив виробник ноутбука можливість відключення Secure Boot чи ні. В Acer Aspire S7 ця функція недоступна, і для її деактивації потрібно переключитися з UEFI в режим BIOS і назад.