Гид по технологиям

PXE: загрузка WinPE через PXElinux v5 и wimboot

8 min read Networking Обновлено 22 Nov 2025
PXE: загрузка WinPE через PXElinux и wimboot
PXE: загрузка WinPE через PXElinux и wimboot

Быстрые ссылки

  • Обзор
  • Обновление PXElinux до v5.01
  • WIMboot
  • Файлы с диска Windows
  • Добавление пункта меню
  • Консоль восстановления Windows

IT Geek: загрузка WinPE по сети (PXE) с PXElinux v5 и wimboot

Кредит фото: Alfred Hermida via Compfight cc

Обзор

Windows Preinstallation Environment (WinPE) — это облегчённая версия Windows, известная как среда, которая загружается с установочного диска. Многие администраторы и инженеры используют WinPE для обслуживания — восстановления, обновления BIOS, диагностики и запуска простых инсталляторов. В этом руководстве описан способ загрузить WinPE по сети (PXE) с помощью PXElinux v5 и wimboot, без необходимости внедрять WAIK/WDS.

Краткая последовательность действий:

  1. Обновить PXElinux до v5.01, если у вас более старая версия.
  2. Добавить модуль wimboot в каталог библиотек TFTP.
  3. Скопировать образ WIM и сопутствующие файлы с установочного диска Windows в каталог TFTP.
  4. Добавить пункт меню PXE, который вызывает wimboot с перечислением файлов.
  5. Загрузиться в WinPE и запустить нужную утилиту (например, обновление BIOS).

Важно: этот метод служит для запуска среды восстановления и утилит. Начать установку Windows вы сможете, но завершить штатную установку (через обычный GUI-инсталлятор) обычно не получится — это ожидаемое ограничение.

Актуальность и совместимость

  • Мы используем Syslinux/PXElinux v5.01, потому что в ветке v5 изменена архитектура COM32-модулей (ELF). Это требует наличия библиотек ldlinux.c32 и других модулей в TFTP.
  • Некоторые гипервизоры (в частности, старые настройки Citrix Xen HVM) могут иметь проблемы с загрузкой beyond PXE-меню; VMware, Hyper-V и VirtualBox обычно работают корректно.
  • Для корректной работы Dell BIOS-утилит иногда требуется 32-битная версия WinPE.

Обновление PXElinux до v5.01

Если в вашей системе репозиторий поставляет Syslinux 4.x, нужно вручную скачать и распаковать версию 5.01 и поместить нужные модули в TFTP-переменные.

Получение и распаковка исходников:

wget https://www.kernel.org/pub/linux/utils/boot/syslinux/syslinux-5.01.tar.bz2  
tar xvhf syslinux-5.01.tar.bz2

Создайте директорию для библиотек:

mkdir -p /tftpboot/howtogeek/libs

Скопируйте необходимые библиотеки в каталог, доступный клиенту во время загрузки через TFTP:

cp -av syslinux-5.01/com32/lib/libcom32.c32 /tftpboot/howtogeek/libs/  
cp -av syslinux-5.01/com32/libutil/libutil.c32 /tftpboot/howtogeek/libs/  
cp -av syslinux-5.01/com32/modules/linux.c32 /tftpboot/howtogeek/libs/

Добавьте путь к новым библиотекам в глобальный конфигурационный файл меню PXE (например, pxelinux.cfg/default). Это делает директорию доступной для поиска модулей:

echo "PATH howtogeek/libs" >> /tftpboot/pxelinux.cfg/default

Скопируйте ldlinux.c32 в корень TFTP:

cp -av syslinux-5.01/com32/elflink/ldlinux/ldlinux.c32 /tftpboot/

Обновите графический движок меню (vesamenu.c32) до версии из 5.01:

cp -av syslinux-5.01/com32/menu/vesamenu.c32 /tftpboot/

После этого PXE-сервер может загружать модули v5 и пользоваться новым API. Если у вас ранее всё работало, то, как правило, работа не нарушится.

WIMboot — зачем и как

wimboot — это загрузчик из проекта iPXE, специализированный для образов формата .wim. Ключевая идея: wimboot позволяет смонтировать WIM как RAM-диск и загрузить WinPE без больших накладных расходов на память.

Описание от проекта:

wimboot

является загрузчиком для Windows Imaging Format (.wim) файлов. Он позволяет загружать WinPE в RAM-диск без лишнего расхода памяти.

Скачивание и установка:

wget http://git.ipxe.org/releases/wimboot/wimboot-latest.zip

Установите unzip на сервере, если его нет:

aptitude install unzip

Распакуйте архив:

unzip wimboot-latest.zip

Скопируйте бинарник wimboot в каталог библиотек TFTP, который вы создали на шаге выше:

cp -va wimboot*/wimboot /tftpboot/howtogeek/libs/

Теперь wimboot доступен как com32-модуль и его можно вызывать из записи меню PXE.

Копирование файлов с установочного диска Windows

Создайте целевой каталог на TFTP-сервере:

mkdir -p /tftpboot/howtogeek/WinPE/

Поместите оригинальный установочный диск Windows (в примере использовано Windows 7) в CD-ROM и скопируйте в каталог следующие файлы:

\bootmgr \\boot\\bcd \\boot\\boot.sdi \\sources\\boot.wim

Примечание: путь с обратными слешами в Windows. Для TFTP достаточно скопировать сами файлы в каталог /tftpboot/howtogeek/WinPE, сохранять исходную структуру папок с диска не обязательно.

Важно: для совместимости с некоторыми утилитами Dell предпочтительна 32-битная версия WinPE.

Добавление записи в меню PXE

Отредактируйте файл меню Utils (или другой файл меню, который вы используете в своей конфигурации):

sudo vim /tftpboot/howtogeek/menus/utils.cfg

Добавьте следующую запись:

label WinPE  
com32 linux.c32 howtogeek/libs/wimboot  
APPEND wimboot initrdfile=/howtogeek/WinPE/bootmgr,/howtogeek/WinPE/bcd,/howtogeek/WinPE/boot.sdi,/howtogeek/WinPE/boot.wim

После сохранения перезагрузите клиент и выберите в меню пункт WinPE. При загрузке будет происходить передача файла boot.wim по TFTP — это сравнительно большой файл (~100–200 МБ), поэтому появившееся «зависание» на этапе передачи нормально.

Скриншот: WinPE в PXE меню

На изображении приведён пример виртуальной машины, загруженной по PXE в WinPE.

Консоль восстановления Windows и применение утилит

Как только WinPE загрузится, вы увидите начальное диалоговое окно установщика Windows. Чтобы попасть в консоль восстановления:

  1. Нажмите “Next” (Далее).
  2. Выберите “Repair your computer” (Восстановление системы).
  3. Выберите “Use recovery tools” (Использовать инструменты восстановления) и нажмите “Next”.
  4. Выберите “Command Prompt” (Командная строка).

WinPE: начальное окно

WinPE: Repair your computer

WinPE: выбор инструментов восстановления

В командной строке нужно определить букву, присвоенную вашему USB-накопителю (Disk-on-Key). Для этого используйте:

wmic logicaldisk get name

Затем перебирайте подозрительные буквы (кроме A: и X:, возможно C:) и вводите:

Driveletter:  
dir

Когда обнаружите USB-накопитель с нужной утилитой (например, обновлением BIOS от Dell), выполните её и следуйте инструкциям.

Пример: утилита обновления BIOS в WinPE

Поздравляем — вы загрузили WinPE по PXE и успешно запустили утилиту.

Критерии приёмки

  • Клиент может выбрать пункт WinPE в PXE-меню.
  • TFTP-передача файлов boot.wim/boot.sdi/bootmgr/bcd успешно завершается (время передачи зависит от сети).
  • WinPE загружается до состояния диалога восстановления, и доступна командная строка.
  • Из командной строки можно обнаружить и запустить исполняемые файлы с USB-накопителя.

Проверка и тесты при внедрении (Acceptance)

  • Тест 1 — чистая VM: PXE-загрузка в виртуальной машине (VMware/VirtualBox/Hyper-V) и запуск командной строки.
  • Тест 2 — физическая машина: загрузка с реального клиента, проверка передачи большого файла (boot.wim).
  • Тест 3 — утилита: запуск простого скрипта с USB и валидация результата (например, вывод версии BIOS).

Отладка: частые проблемы и решения

  • Долго передаётся boot.wim: проверьте пропускную способность TFTP (UDP) и нагрузку на сеть. Решение — временно использовать HTTP/HTTPS через iPXE или настроить более быстрый TFTP-сервер.
  • PXE не доходит до меню v5: убедитесь, что ldlinux.c32 и vesamenu.c32 обновлены в корне /tftpboot и что PATH в pxelinux.cfg/default ссылается на howtogeek/libs.
  • wimboot не запускается: проверьте, что бинарник wimboot имеет права на исполнение и находится в howtogeek/libs.
  • Клиент «зависает» на этапе загрузки, ничего не происходит: проверьте логи DHCP/TFTP, а также совместимость BIOS/UEFI клиента с PXE-изображением (legacy PXE vs UEFI). WIMboot чаще используется в режиме legacy BIOS; для UEFI нужны другие параметры загрузки.

Ментальные модели и альтернативные подходы

  • Модель «копия с CD» — минимальная и быстрая: напрямую копируйте файлы с ISO/CD; идеальна для разовых задач.
  • Mодель WDS/WAIK — официальная, но сложнее: подходит для полноценной сетевой установки Windows с поддержкой установки, изображений и централизованного управления.
  • Mодель iPXE+HTTP — более производительная, особенно в больших сетях: замените TFTP на HTTP для передачи больших WIM.

Альтернативы:

  • Использовать WDS/MDT на Windows Server для полноценной деплой-платформы.
  • Использовать iPXE с цепочной загрузкой по HTTP для ускоренной передачи.
  • Применять FOG/UDAgent для массового клонирования дисков, если цель — клонирование, а не запуск утилит.

Роли и чек-листы (кто что делает)

  • Сетевой администратор:
    • Открывает/настраивает DHCP и TFTP/HTTP на сервере.
    • Проверяет доступность файлов по сети.
  • Системный администратор:
    • Скачивает syslinux 5.01, копирует необходимые c32-модули.
    • Устанавливает wimboot и размещает файлы WinPE.
  • Инженер по сопровождению (field engineer):
    • Тестирует загрузку на реальных устройствах и запускает утилиты.

Процесс восстановления/плейбук (короткий SOP)

  1. Поместить файлы WinPE в /tftpboot/howtogeek/WinPE.
  2. Убедиться, что в /tftpboot находятся ldlinux.c32 и vesamenu.c32 версии 5.x.
  3. В каталоге /tftpboot/howtogeek/libs разместить libcom32.c32, libutil.c32, linux.c32 и wimboot.
  4. Добавить запись меню и перезапустить клиент.
  5. Загрузиться в WinPE и выполнить требуемую задачу.

Безопасность и приватность

  • Не размещайте на общем TFTP-сервере конфиденциальные данные. TFTP не шифрует трафик.
  • Для более безопасной передачи образов используйте iPXE+HTTP(S) или защищённые сетевые сегменты.
  • Ограничьте доступ к DHCP/TFTP серверам и логам только уполномоченным администраторам.

Краткая методология внедрения (минимальная дорожная карта)

  • Шаг 0: Резервная копия конфигураций DHCP/TFTP.
  • Шаг 1: Локальная проверка в VM (триала) — 1–2 дня.
  • Шаг 2: Тест на паре физических машин — 1 день.
  • Шаг 3: Развёртывание в производственной сети, мониторинг — 1–2 дня.

Факты и подсказки

  • boot.wim обычно весит 100–250 МБ (в зависимости от версии и включённых пакетов).
  • TFTP использует UDP и плохо масштабируется при передаче больших файлов.
  • wimboot позволяет уменьшить накладные расходы памяти при загрузке образа.

Глоссарий (1 строка)

  • PXE — сетевой протокол загрузки (Preboot Execution Environment).
  • WinPE — облегчённая предустановочная среда Windows.
  • WIM — Windows Imaging Format (формат образа, .wim).
  • wimboot — загрузчик для .wim, позволяющий запускать WinPE по сети.

Частые вопросы (FAQ)

Нужно ли лицензировать WinPE?

WinPE распространяется Microsoft с ограничениями на использование; обычно для обслуживания и восстановления достаточно использовать среду в рамках лицензии установленной ОС. Для массовых деплой-сцен проверьте требования Microsoft.

Подходит ли этот метод для UEFI?

wimboot и PXElinux чаще используются в legacy BIOS. Для UEFI обычно применяют отдельные загрузчики и профиль загрузки (например, iPXE с EFI-образом).

Можно ли заменить TFTP на HTTP?

Да. Для передачи больших WIM рекомендуется использовать iPXE с HTTP(S), так как HTTP намного эффективнее и надёжнее при передаче больших файлов.


Короткая сводка: обновите PXElinux до v5.01, добавьте wimboot и нужные библиотеки, скопируйте с диска Windows набор файлов bootmgr/bcd/boot.sdi/boot.wim в каталог TFTP и добавьте запись меню. После этого вы сможете загружаться в WinPE по сети и запускать утилиты восстановления и обслуживания.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Как защитить папку паролем в Windows 11
Безопасность

Как защитить папку паролем в Windows 11

Клонирование USB в Windows 10 — как создать и записать образ
Инструкции

Клонирование USB в Windows 10 — как создать и записать образ

AirPlay на Mac: приём и трансляция
macOS

AirPlay на Mac: приём и трансляция

Установка и удаление Google Chrome — полное руководство
Браузеры

Установка и удаление Google Chrome — полное руководство

Экранная блокировка Nintendo Switch: включение и советы
Консоли

Экранная блокировка Nintendo Switch: включение и советы

Сумма в Excel: быстрые способы и подсказки
Excel

Сумма в Excel: быстрые способы и подсказки