2020-01-02

Загрузка по сети: UEFI PXE

В предыдущих статьях, по теме загрузки по сети, все используемые загрузчики, и загрузка с использованием технологии PXE происходила в Legacy-режиме, то есть в режиме старого BIOS. Я решил дополнить данную тему, рассмотрев загрузку по сети в современном стандарте UEFI.



Содержание



В Чем Отличия


Кардинальных отличий в реализации загрузки с использованием технологии PXE для UEFI BIOS нет. Я даже скажу больше, все необходимые настройки полностью идентичны. Но, обо всем по порядку.

Технология PXE базируется на трех составляющих:

1. TFTP-сервер. Предназначен для загрузки файлов по сети. На данном сервере хранятся все загрузочные файлы, с последующим предоставлением их по требованию, без какой-либо авторизации.

2. DHCP-сервер. Предназначен для автоматической выдачи сетевых настроек в сети без необходимости их прописывания вручную на сетевых машинах обладающих соответствующим DHCP-клиентом. То есть, вы подключаете машину с включенным DHCP-клиентом в сеть в которой присутствует DHCP-сервер, и можно использоваться сетью. Хочу так же заметить, что кроме стандартных настроек сети (IP-адресс, маску подсети, Шлюз, и IP-адрес DNS-сервера), DHCP-сервер участвующий в PXE составляющей, должен передавать информацию о TFTP-сервере, и об имени главного исполняемого загрузочного файла.

3. Загрузочный клиент. Программный код вшитый в прошивку сетевой карты или UEFI BIOS материнской платы. Его задача получить необходимые настройки сети, выполнить соединение с TFTP-сервером, и загрузить с него загрузочный файл и выполнить его

Сервера TFTP и DHCP при этом могут быть запущенны на совершенно разных машинах, единственное требование, чтобы они располагались в одной сети.

Все вышесказанное характерно как для Legacy BIOS, так и для UEFI BIOS. Единственное отличие для UEFI PXE, это указание исполняемого файла в настройках DHCP-сервера предназначенного именно для UEFI BIOS.

Учитывая все вышесказанное, настоятельно рекомендую прочитать про установку и настройку DHCP и TFTP сервера, а так же про установку и настройку загрузчика Windows Boot Manager  на TFTP-сервер. Данные статьи полностью актуальны на данный момент времени, и информация из них будет использоваться далее по тексту.


Необходимые Программы


Для осуществления загрузки в UEFI PXE потребуется следующие программы и файлы:

1. Программа Tftp32(64). Компактный инструмент сочетающий в себе TFTP, DHCP, DNS, и Syslog службы.


2. Программа BOOTICE. Невероятно мощный инструмент для создания и работы с загрузочными дисками.


3. Установочный *.ISO образ операционной системы Windows. Скачать его можно на официальном сайте Microsoft, абсолютно бесплатно, и без какой-либо регистрации. Скачивание происходит через программу MediaCreationTool.


4. Один из загрузочных WinPE, мультизагрузочной сборки 2k10.



Настройка TFTP-сервера


Как было сказано ранее, установка и конфигурация программы Tftp32(64) уже была подробно рассмотрена в данной статье, поэтому я ограничусь лишь небольшим демонстрационным скринкастом.


В данном скринкасте отображена настройка TFTP-сервера, с корневой директорией D:\TFTP, и настройка DHCP-сервера, но без указания имени исполняемого загрузочного файла.


Имя загрузочного файла будет добавлено в следующем разделе.

Директория D:\TFTP на данный момент пуста.


Данная директория является корневой для TFTP-сервера, и будет содержать все необходимые загрузочные файлы.


Установка UEFI-загрузчика


В качестве загрузчика будет выступать Windows Boot Manager (BOOTMGR). Установка данного загрузчика на TFTP-сервер так же рассматривалась ранее. Принцип полностью схож, различаются лишь копируемые файлы.

Первым делом, копируем из установочного *.ISO образа операционной системы Windows, папку \efi\microsoft\boot в корневую директорию TFTP-сервера D:\TFTP.


Следующим, копируем файл \efi\boot\bootx64.efi, так же в корневую директорию TFTP-сервера.


И последним, копируем файл \boot\boot.sdi в директорию boot (D:\TFTP\boot) корневой директории TFTP-сервера.


Установочным ISO-образом ОС Windows на этом покончено. Переходим к мультизагрзочному диску 2k10.

Создадим в корневой папке TFTP-сервера директорию sources (D:\TFTP\sources).


Скопируем в созданную директорию файл \2k10\WinPE\W1064PE.wim, из загрузочного ISO-образа мультизагрузочной сборки 2k10.


Переименуем скопированный файл в boot.wim.


Перейдем к настройке загрузчика. Вместо подробного рассмотрения я приведу лишь скринкаст, так как все действия полностью аналогичны проделанным в этой статье.

Запускаем BOOTICE. Открываем в нем конфигурационный файл скопированного загрузчика D:\TFTP\boot\bcd. И выполняем действия приведенные в скринкасте.


Конфигурация касалась двух параметров, первый отвечал за отображения старомодной полоски загрузки, вместо крутящихся шариков, а второй отключал встроенную проверку загружаемых архивов *.wim.

Осталось только вписать имя исполняемого загрузочного файла в конфигурацию DHCP-сервера. Данным файлом в нашем случае является D:\TFTP\bootx64.efi.


Загрузчик, и тестовое содержимое на этом установлены.


Загрузка Тестового BOOT.WIM


Тестировать загрузку по сети будем в виртуальной машине VMware Workstation Player.


Тестовая виртуальная машина обязательно должна смотреть в вашу реальную сеть.


Запускаем программу Tftp32(64), если она была закрыта. Далее стартуем виртуальную машину и выбираем загрузку по сети в UEFI-режиме.


Начнет выполняться UEFI PXE клиент.


После получения всех необходимых сетевых настроек, запустится скачивание загрузчика и всех необходимых ему файлов с нашего TFTP-сервера.


После скачивания всех необходимых файлов в оперативную память виртуальной машины, последует их запуск. В моем случае, будет запущена WinPE взятая с мультизагрузочного диска 2k10.



Загрузка в UEFI PXE режиме прошла успешно.


Итог


В статье было рассмотрено: Как осуществить загрузку в UEFI PXE режиме? Как настроить программу TFTP32(64) для загрузки в UEFI-режиме? Как установить UEFI-загрзчик на TFTP-сервер?

Как можно заметить, отличий в реализации загрузки по сети между UEFI и Legacy режимом нет. Вся разница лишь в прописываемом исполняемом загрузочном файле, и файлах загрузчика. Что касаемо других загрузчиков, то с ними дела обстоят ровно так же. Все что необходимо, это лишь использовать их UEFI версии.

Комментариев нет :

Отправить комментарий