Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этой статье описываются требования UEFI, применимые к Windows 10 для классических выпусков (Home, Pro, Enterprise и Education).
Сводка требований
В следующей таблице перечислены все текущие требования к соответствию UEFI, как определено в спецификации UEFI (раздел 2.6 спецификации UEFI 2.3.1). В этой таблице термин явное требование Windows определяет любой протокол или службу, непосредственно вызываемую компонентом Windows. Хотя только эти службы явно используются Windows, другие перечисленные службы и протоколы могут быть неявно или явно необходимы для реализации основного встроенного ПО, драйверов устройств EFI или цепочек средств разработки и развертывания.
Корпорация Майкрософт приветствует отзывы и комментарии от разработчиков по этому набору требований. Для любых требований к соответствию UEFI, которые определены как не требующиеся ни операционной системе, ни встроенному ПО, мы намерены работать с UEFI.org, чтобы эти требования были ослаблены для этого класса устройства.
Дополнительные сведения о конкретных требованиях см. в разделах после таблицы.
| Требование | Раздел спецификации UEFI | Примечания |
|---|---|---|
| таблица системы EFI | 4.3 | Явное требование к Windows |
| службы загрузки EFI | 6.0 | |
| Службы событий, таймера и задач | 6.1 | |
| Службы памяти | 6.2 | Явное требование для Windows |
| Службы обработчика протоколов | 6.3 | Явное требование к Windows |
| Услуги изображений | 6.4 | Явное требование к Windows |
| Другие службы | 6.5 | Явное требование к Windows |
| службы среды выполнения EFI | 7.0 | |
| Службы времени | 7.3 | Явное требование к Windows |
| Изменяемые службы | 7.2 | Явное требование к Windows |
| Другие службы | 7.5 | Явное требование к Windows |
| обязательные протоколы UEFI | ||
| Протокол загруженного образа EFI | 8.1 | |
| Протокол загрузки образа EFI для пути к устройству | 8.2 | |
| Протокол пути устройства EFI | 9.2 | Явное требование к Windows |
| Протокол утилит для путей устройств EFI | 9.5 | |
| Протокол распаковки EFI | 18.5 | |
| Протокол интерпретатора EBC | 20.11 | |
| Условно обязательные протоколы UEFI | ||
| Простой протокол ввода текста EFI | 11.3 | Явное требование к Windows |
| Протокол простого текстового ввода EX EFI | 11.2 | |
| Простой протокол вывода текста EFI | 11.4 | |
| Протокол вывода графики EFI | 11.9 | Явное требование к Windows |
| Протокол EFI EDID обнаружен. | 11.9.1 | |
| Активный протокол EFI EDID | 11.9.1 | |
| Протокол ввода-вывода блока EFI | 12.8 | Явное требование к Windows |
| Протокол ввода-вывода диска EFI | 12.7 | |
| Простой протокол файловой системы EFI | 12.4 | |
| Протокол сортировки EFI Юникода | 12.10 | |
| Простой сетевой протокол EFI | 21.1 | |
| Протокол базового кода EFI PXE | 21.3 | |
| Протокол сервисов целостности загрузки EFI | 21.5 | |
| Протокол последовательного ввода-вывода EFI | 11.8 | |
| Привязка ARM UEFI | 2.3.5 | Явное требование к Windows |
| требования к безопасности | ||
| Безопасная загрузка | 27.0 | Явное требование к Windows |
| Требования к диспетчеру загрузки | 3.1, 3.3 | Явное требование к Windows |
Требования к системной таблице EFI
Системная таблица EFI должна соответствовать стандартному определению на уровне редакции, реализованной. Таблица конфигурации, указанная в EFI System Table, должна включать два GUID и связанные указатели, описанные в следующей таблице.
| GUID | Описание |
|---|---|
| Таблица EFI_ACPI GUID | Этот GUID должен указывать на корневой системный дескриптор ACPI (RSDP) для платформы. |
| SMBIOS_Table GUID | Этот GUID должен указывать на структуру точки входа SMBIOS. Для Windows требуется спецификация SMBIOS на уровне версии 2.4 или более поздней версии. Требуются разделы 3.2, "Обязательные структуры и данные", а также 4, "Рекомендации по соответствию". Доступен тест совместимости с Windows SMBIOS. |
Требования к службам загрузки EFI
В следующей таблице перечислены требования к службам загрузки EFI для Windows.
| Служба загрузки EFI | Требование |
|---|---|
| Службы памяти | Для Windows требуются все службы памяти. |
| Службы обработчика протоколов | Для Windows требуются следующие службы обработчика протоколов: OpenProtocol() CloseProtocol() LocateDevicePath() LocateHandle() |
| Услуги изображений | Для Windows требуются следующие службы образов: ExitBootServices() |
| Прочие службы загрузки | Для Windows требуются следующие службы загрузки: Стойл() Примечание. Реализация Stall() должна содержать детерминированную (повторяемую) ошибку, чтобы можно было надежно корректировать или отменять ошибки. |
Требования к службам среды выполнения EFI
В следующей таблице перечислены требования к службам среды выполнения EFI для Windows.
| Служба среды выполнения EFI | Требование |
|---|---|
| Службы времени | Для Windows требуются следующие службы времени: GetTime() SetTime() Примечание. Службы времени будут вызываться только во время загрузки (до ExitBootServices()) для доступа к аппаратному обеспечению платформы, отвечающему за время суток. |
| Изменяемые службы | Для управления несколькими загрузочными устройствами и переменными безопасности в целевом классе систем требуются все службы переменных UEFI. |
| Прочие службы среды выполнения | Для Windows требуются следующие службы среды выполнения: ResetSystem() Примечание. реализация ResetSystem() должна поддерживать функции сброса и завершения работы. |
Требования к протоколу
В следующей таблице описаны протоколы UEFI, необходимые Windows для выполнения определенных функций во время загрузки.
| Протокол | Требование |
|---|---|
| Протокол вывода графики | Для Windows требуется протокол вывода графики (GOP). Конкретные требования к буферу кадров: Для интегрированных дисплеев HorizontalResolution и VerticalResolution должны быть собственным разрешением панели. Для внешних отображения HorizontalResolution и VerticalResolution должно быть собственным разрешением дисплея или, если это не поддерживается, то самые высокие значения, поддерживаемые как адаптером видео, так и подключенным дисплеем. Пикселей на линии сканирования должно быть равно Горизонтальное разрешение. PixelFormat должен быть PixelBlueGreenRedReserved8BitPerColor. Требуется буфер физического кадра; PixelBltOnly не поддерживается. Когда выполнение передается в загрузочное приложение UEFI, диспетчер загрузки встроенного ПО и само встроенное ПО не должны использовать буфер кадров для любых целей. Буфер кадра должен продолжать проверяться после завершения работы служб загрузки. |
| Альтернативный выход видеосигнала | Встроенное ПО UEFI должно поддерживать загрузку с помощью любого соединителя дисплея, поддерживаемого оборудованием. Если внутренняя панель подключена и видна, то необходимо использовать внутреннюю панель. Все выходы, к которым физически подключены экраны, должны отображать загрузочный экран. Для подключенных дисплеев встроенное ПО UEFI должно: Инициализировать выходные данные с помощью собственного режима отображения, если можно определить собственное разрешение. Если собственный режим недоступен, он должен инициализироваться до максимально совместимого режима. Если возможности отображения не могут быть определены, то подключенный дисплей должен быть инициализирован в режиме, который, как известно, совместим с максимально возможным количеством мониторов (обычно 640x480 или 1024x768 в 60 Гц). |
| Входные данные во время загрузки | Протокол простого ввода текста EFI необходим для выбора параметров загрузки или других вариантов меню в системах с встроенными или внешними клавиатурами. Для систем без клавиатуры в среде загрузки рекомендуется использовать три кнопки: Кнопка "Пуск" Кнопка "Увеличение громкости" Кнопка "Уменьшить громкость" Нажатия кнопки следует сообщать через протокол простого текстового ввода EFI, сопоставляя их со следующими клавишами клавиатуры соответственно: Ключ Windows Клавиша стрелка вверх Клавиша Стрелка вниз |
| Загрузка локального хранилища | Для Windows требуется поддержка протокола блокового ввода-вывода (Block I/O) и протокола пути к устройству (Device Path) для системного решения хранения, содержащего раздел EFI и раздел ОС Windows. Для загрузки из хранилища флэш-памяти, требующего выравнивания на уровне износа или другого управления флэш-памятью, это необходимо реализовать в встроенном ПО (не в приложении UEFI). |
Требования к безопасности
Windows имеет требования к безопасности в областях безопасной загрузки, измеренной загрузки, шифрования и защиты данных. Эти требования подробно описаны в следующей таблице. Кроме того, для тех областей, в которых оборудование SoC предотвращает соответствие существующему стандарту (TPM, RTC и т. д.), разрабатываются дополнительные требования. Они описаны в конце таблицы.
| Площадь | Требование |
|---|---|
| Общее |
|
| Безопасная загрузка UEFI |
|
| Измеряемая загрузка UEFI | Следующие требования не подразумевают необходимость реализации доверенного платформенного модуля TCG; Однако они подразумевают необходимость в эквивалентных функциональных возможностях для затронутых областей. Поддержка платформы может быть предоставлена реализацией встроенного ПО доверенного платформенного модуля, выполняющегося в среде безопасного выполнения, надстроенным над подсистемой криптографического ускорения и использующего изолированное хранилище. Корпорация Майкрософт может предоставить эталонное программное обеспечение для такой реализации доверенного платформенного модуля для использования поставщиком. Это подлежит дальнейшим обсуждениям.
|
| Криптография |
|
| Защита данных |
|
| Другие требования к безопасности | Следующие дополнительные требования требуются Windows на платформах SoC.
|
Требования к диспетчеру загрузки встроенного ПО
Диспетчер загрузки встроенного ПО должен поддерживать поведение загрузки по умолчанию, определенное в разделе 3.3 спецификации. Кроме того, требуются поддержка многозагрузки, глобально определенные переменные и требования раздела 3.1 спецификации к диспетчеру загрузки.
Требования к привязке UEFI для Arm
Требования для привязки UEFI Arm включают специфику платформы Arm, необходимую для соответствия спецификации UEFI. Для Windows требуется все в привязке Arm, применимое к ARMv7. Поскольку Windows не поддерживает ничего предшествующего ARMv7, требования в связывании, касающиеся ARMv6k и ниже, являются необязательными.
Привязка указывает, например, как следует настроить MMU и как следует сопоставить физическую память. Привязка также указывает, что вызовы протоколов и служб UEFI должны выполняться только в ISA Arm, что означает, что программное обеспечение, работающее в Thumb2 или Thumb, потребуется переключиться в режим Arm перед вызовом функций UEFI.
Требования к запуску мультипроцессора UEFI Arm
Корпорация Майкрософт разработала протокол для запуска нескольких ядер Arm на платформе UEFI с несколькими процессорами. Этот протокол требуется для Windows на платформах Arm, которые не поддерживают интерфейс координации состояния питания (PSCI) . Платформы, поддерживающие PSCI, не должны использовать этот протокол. Дополнительные сведения об этом протоколе см. в документе «Многопроцессорный запуск на платформах на основе UEFI Arm» на веб-сайте ACPI Component Architecture (ACPICA).
Требования к настройке платформы
Прошивка отвечает за приведение системного оборудования в четко определенное состояние перед тем, как передать управление загрузчику ОС. В следующей таблице определены соответствующие требования к настройке платформы.
| Требование | Описание |
|---|---|
| Путь загрузки | Встроенное ПО должно инициализировать платформу до точки, когда Windows может получить доступ к загрузочному устройству через UEFI и загрузить ядро. Любое устройство, которое участвует в иерархии для чтения с загрузочного устройства, должно работать с тактовой частотой и питаться с разумной скоростью, учитывая требования к производительности и потреблению энергии. Ядро процессора также должно иметь разумные частоту и питание, чтобы система могла своевременно загружаться без значительного разряда батареи. |
| Основные системные ресурсы | Основные системные ресурсы, предоставляемые ОС с помощью таблиц ACPI, должны быть включены и синхронизированы. Основные системные ресурсы включают контроллеры прерываний, таймеры и контроллеры DMA, которыми должна управлять ОС. Кроме того, прерывания должны быть маскированы вызовом ExitBootServices() до тех пор, пока связанный с устройством драйвер в ОС не размаскирует и повторно не включит прерывания на устройстве. Если прерывания включены во время загрузки служб, предполагается, что встроенное ПО управляет ими. |
| Отладка | Windows поддерживает отладку через узел USB 3 (XHCI), узел USB 2 (EHCI), IEEE 1394, последовательные интерфейсы и интерфейсы USB функции (а также адаптеры ethernet PCI). По крайней мере один из них должен быть подключен к питанию, синхронизирован с тактовым сигналом и инициализирован встроенным ПО до передачи управления ОС. Какой бы вариант ни был предложен, он должен иметь открытый порт для отладки, а контроллер должен быть сопоставлен с областью памяти или подключен через выделенную (не общую) периферийную шину. |
| Другие требования к настройке платформы | Все конфигурации пин-мультиплексирования и настройки пэдов должны быть завершены в встроенном ПО до передачи управления загрузчику ОС. |
Требования к установке
Для Windows требуется, чтобы секция ОС была размещена в решении хранилища с секционированием GPT. Секционированного хранилища MBR можно использовать в качестве хранилища данных. Как определено в спецификации UEFI, для платформы UEFI требуется выделенная системная секция. Для Windows требуется этот выделенный системный раздел, называемый системным разделом EFI (ESP).
Требование к аппаратному интерфейсу тестирования безопасности (HSTI)
Платформа должна реализовать интерфейс тестирования аппаратной безопасности, и требуется совместно использовать документацию и инструменты, указанные в спецификации тестируемости аппаратной безопасности .