Skip to content

HTTP Boot замена PXE

Ранее в блоге был пост про PXE загрузку. Установка Windows по сети. За подробностями можно перейти почитать. Если вкратце. Настроив DHCP сервер можно указать клиенту сетевое расположение установочного образа системы (NBP).

Прогресс не стоит на месте и на место PXE приходит HTTP Boot. Про сравнение двух подходов и пойдет речь.

Первое, что нужно знать про HTTP Boot - он работает только на системах UEFI версии 2.5 и выше. Поэтому если у вас по-прежнему используется BIOS возможно следует обновиться. Тем более что крупнейший производитель чипов Intel собирается прекратить поддержку BIOS после 2020.

Напоминание, что переключение с BIOS на UEFI загрузку требует изменения в установленной ОС.

Дальше вспомним про работу PXE.

Загрузка в PXE

uefi-http-boot_01.png

Процесс загрузки PXE использует несколько протоколов.

  • DHCP

    • Клиент передает опцию PXEClient
    • Сервер передает опцию сервера загрузки и опцию имени файла загрузки
  • TFTP Клиент скачивает образ Network Bootstrap Program (NBP)

  • Запуск исполняемого образа Передача управления ему. Дальнейшая загрузка использует протоколы, реализованные в самом образе. Так для Windows это SMB протокол.

NBP файл

Следует напомнить, что система UEFI требует определенный файл NBP. Он не совместим с файлом для BIOS.

Например, для загрузки Windows Deployment Sever (WDS) в опции DHCP следует указать следующий файл:

  • Для BIOS системы: wdsnbp.com
  • Для UEFI системы: wdsmgfw.efi

HTTP до внедрения HTTP Boot

Загрузка по HTTP была доступна и раньше с использованием сторонних PXE загрузчиков.

Пример iPXE

Например, можно заменить Windows Deployment Server (WDS), DHCP и веб сервер одной программой. И использовать только Microsoft Deployment Toolkit (MDT). В таком дизайне используется следующие компоненты:

  • Tiny PXE Server DHCP и HTTP сервер.
  • iPXE загрузчик С поддержкой WIM файлов.
  • Файлы MDT Boot\BCD, Boot\boot.sdi, Sources\Boot.wim

Процесс в этом случае такой:

  • Клиент выбирает загрузку UEFI NIC
  • Запускается UEFI PXE загрузка

    • Клиент получает свой IP адрес от Tiny PXE Server
    • Клиент получает IP адрес сервера загрузки от Tiny PXE Server
    • Клиент получает имя файла NBP от Tiny PXE Server
    • Клиент загружает NBP файл
    • Клиент запускает NBP файл
  • Выводится меню iPXE с выбором вариантов загрузки:

    • Загрузка WIM через HTTP
    • Загрузка WIM через TFTP
  • Выбирается загрузка через HTTP

  • Загружаются файлы BCD, boot.sdi, boot.wim
  • Запускается MDT Task Sequence и ему передается управление

Сравним с HTTP Boot.

HTTP Boot

Что поменялось в сравнении с загрузкой PXE? Поддержка HTTP протокола с самого старта. Самый первый NBP образ в PXE загружается по TFTP протоколу. В HTTP Boot это изменилось. HTTP используется для загрузки после выбора UEFI NIC. Это позволяет загружать многомегабайтные файлы быстрее и проще масштабировать.

Опция эксклюзивная. Т.е. в настройках UEFI можно выбрать либо HTTP Boot, либо PXE. Однако в сети встречаются упоминания, когда DHCP сервер отправляет клиенту опцию vendor-class-identifier HTTPClient. И тогда клиент понимает, что для загрузки NBP образа надо использовать HTTP Boot.

Какие возможности дает HTTP Boot? Быстрее передача данных. Шифрование передачи данных.

Как и раньше для загрузки по сети требуется DHCP сервер и опционально DNS. В HTTP Boot к ним добавился HTTP сервер (веб сервер). Клиенты подключаются по HTTP к веб серверу и скачивают NBP образ загрузки. В сети встречаются упоминания, что поддерживается загрузка ISO образа.

Загрузка в HTTP Boot

uefi-http-boot_02.png

Процесс загрузки HTTP Boot похож на PXE.

  • DHCP

    • Клиент передает опцию HTTPClient
    • Сервер передает опцию HTTPClient и URI загрузки. URL содержит протокол (HTTP/HTTPS), имя сервера и имя файла.
  • HTTP Клиент скачивает образ NBP

  • Запуск исполняемого образа Передача управления ему.

Заключение.

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

Источник 1

Источник 2

Источник 3

Источник 4

Источник 5

Источник 6

Источник 7

Источник 8

Источник 9

Источник 10