Установка ОС по сети: полное руководство по PXE-загрузке

Компьютер при загрузке по сети выдаёт ошибку PXE-E53: No boot filename received — значит, DHCP-сервер ответил, но не передал клиенту имя загрузочного файла, и установка ОС по сети обрывается на самом первом этапе. Эта ситуация знакома каждому, кто настраивал PXE-загрузку: технология работает по цепочке «DHCP → TFTP → загрузчик → образ системы», и сбой любого звена останавливает весь процесс.

Сетевая установка операционной системы позволяет развёртывать Windows или Linux на десятки машин без флешек и дисков. В этой статье разберём принцип работы PXE, настройку серверной части на примере WDS и связки DHCP/TFTP, типичные ошибки и способы их диагностики.

Как работает установка ОС по сети

Технология PXE (Preboot Execution Environment) встроена в прошивку сетевой карты. При включении компьютер без локальной ОС отправляет в сеть широковещательный DHCP-запрос, получает IP-адрес и адрес TFTP-сервера, скачивает с него загрузчик (например, pxelinux.0 или bootmgfw.efi) и уже через него подгружает установочное окружение.

Важно понимать: сам установочный образ по TFTP обычно не передаётся — этот протокол медленный и используется только для начального загрузчика. Дальше файлы установки забираются по SMB, HTTP или NFS, что заметно быстрее.

Цепочка загрузки выглядит так:

  • 🌐 Клиент отправляет DHCPDISCOVER с идентификатором PXE;
  • 📡 DHCP-сервер выдаёт IP и параметры 66 (адрес сервера) и 67 (имя файла загрузки);
  • 📥 Клиент скачивает загрузчик по TFTP и запускает его;
  • 💿 Загрузчик монтирует установочный образ и стартует программа установки ОС.

Что понадобится для сетевой установки

Минимальный набор — один сервер (физический или виртуальный) и клиентские машины с поддержкой загрузки по сети. Практически все современные сетевые адаптеры и материнские платы её поддерживают, но в BIOS/UEFI клиента опцию нужно включить вручную: обычно это пункт Network Boot, PXE Boot или выбор сетевого адаптера в приоритете загрузки. Точное название пункта зависит от производителя платы — сверьтесь с документацией конкретной модели.

Также потребуется установочный ISO-образ нужной ОС и права администратора на сервере. Если в сети уже есть DHCP-сервер (например, на роутере), его придётся настраивать совместно с PXE — два независимых DHCP-сервера в одном сегменте создадут конфликт.

📊 Для какой задачи вы настраиваете установку ОС по сети?
Развёртывание Windows в офисе
Установка Linux на серверы
Восстановление одного домашнего ПК
Изучаю технологию в учебных целях

Настройка WDS на Windows Server

Windows Deployment Services — штатная роль Windows Server, объединяющая PXE-, TFTP- и образный сервисы в одной консоли. Роль добавляется через Диспетчер сервера: Управление → Добавить роли и компоненты → Службы развёртывания Windows.

После установки роли сервер нужно настроить: указать папку хранения образов (желательно не на системном диске) и выбрать режим ответа клиентам. Если WDS и DHCP работают на одном сервере, в свойствах WDS на вкладке DHCP отметьте оба пункта — «Не прослушивать порт 67» и «Настроить DHCP-параметр 60». Это устойчивая, документированная процедура для связки WDS+DHCP на одной машине.

⚠️ Внимание: если DHCP-сервер работает на другом устройстве (роутер, отдельный сервер), параметр 60 настраивать не нужно — вместо этого на том DHCP пропишите опции 66 и 67, иначе клиенты не получат адрес загрузочного сервера.

Далее в консоль WDS добавляются два типа образов: загрузочный (boot.wim из папки sources установочного ISO) и установочный (install.wim или install.esd). После этого клиент при PXE-загрузке увидит меню выбора образа и стандартный мастер установки Windows.

☑️ Проверка перед первой загрузкой клиента

Выполнено: 0 / 5

Сетевая установка Linux

В Linux-окружении классическая связка — dnsmasq или ISC DHCP плюс TFTP-сервер (например, tftpd-hpa) и загрузчик PXELINUX из пакета Syslinux. Конфигурация dnsmasq для PXE может выглядеть так:

dhcp-range=192.168.1.50,192.168.1.150,12h

dhcp-boot=pxelinux.0

enable-tftp

tftp-root=/srv/tftp

Синтаксис конфигурации зависит от версии пакета, поэтому сверяйтесь с man-страницей вашей системы. В каталоге /srv/tftp размещаются pxelinux.0, модули и меню pxelinux.cfg/default, где указывается ядро и initrd установщика, а также источник установки — HTTP, NFS или FTP.

Для автоматизации развёртывания Linux часто используют файлы ответов: kickstart в семействе RHEL/Fedora, preseed или autoinstall в Debian/Ubuntu. Они позволяют провести установку вообще без участия оператора.

Сравнение инструментов сетевой установки

ИнструментПлатформаЦелевые ОССложность
WDSWindows ServerWindowsНизкая, графическая консоль
MDT + WDSWindows ServerWindowsСредняя, сценарии развёртывания
dnsmasq + PXELINUXLinuxLinux, Windows (через wimboot)Средняя, текстовые конфиги
iPXEЛюбаяЛюбые, загрузка по HTTPВыше средней, скрипты
SCCM (ConfigMgr)Windows ServerWindows в крупных сетяхВысокая, корпоративный уровень

Для небольшого офиса чаще всего достаточно WDS или связки dnsmasq+TFTP. iPXE отличается тем, что умеет загружать образы напрямую по HTTP/HTTPS, что снимает главное ограничение медленного TFTP и позволяет грузить установщик даже через интернет.

Типичные ошибки и их диагностика

Большинство проблем при установке ОС по сети сводится к нескольким повторяющимся сценариям. Разберём основные:

  • 🔌 PXE-E53 — DHCP не передал имя загрузочного файла: проверьте опции 66/67 или параметр 60;
  • ⏱️ PXE-E32 TFTP open timeout — TFTP-сервер недоступен: проверьте службу и файрвол (TFTP использует UDP-порт 69);
  • 🚫 Клиент вообще не получает IP — DHCP не отвечает или запросы блокируются между VLAN (нужен DHCP Relay / IP Helper);
  • 💻 Ошибка после загрузки boot.wim — нет драйвера сетевой карты в загрузочном образе: добавьте драйверы в образ через dism.
⚠️ Внимание: клиенты с UEFI и с Legacy BIOS требуют разных загрузочных файлов (например, bootmgfw.efi для UEFI и pxeboot.n12 для Legacy). Если раздаётся неподходящий файл, загрузка зависнет или упадёт с ошибкой — настройте раздачу по архитектуре клиента либо используйте WDS, который делает это автоматически.

Полезный приём диагностики — снять сетевой дамп на стороне сервера (например, Wireshark с фильтром по DHCP и TFTP). По нему сразу видно, на каком этапе обрывается обмен: нет ли DHCP-ответа, уходит ли TFTP-запрос, скачивается ли файл.

Почему загрузка по PXE медленная и как ускорить

TFTP передаёт данные маленькими блоками без оптимизаций, поэтому большие файлы по нему грузятся долго. Решения: включить в WDS передачу блоков большего размера, использовать iPXE с загрузкой по HTTP, либо передавать по TFTP только загрузчик, а install.wim забирать по SMB.

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

PXE-инфраструктура по своей природе доверчива: любой клиент в сегменте может запросить загрузку. В изолированной сети это не проблема, но в общей — стоит ограничить круг клиентов. В WDS есть настройка ответа только известным (предварительно созданным в AD) компьютерам; в dnsmasq можно фильтровать по MAC-адресам.

Также учтите, что установочный образ по сети передаётся без шифрования (кроме варианта iPXE по HTTPS). Не размещайте в образах и файлах ответов пароли администраторов в открытом виде — используйте переменные, минимальные права учётных записей для развёртывания и удаляйте чувствительные данные после установки.

Часто задаваемые вопросы

Можно ли установить ОС по сети без настройки DHCP?

Нет, DHCP обязателен — клиенту нужно получить IP-адрес и координаты загрузочного сервера. Однако не обязательно поднимать отдельный DHCP: можно расширить существующий опциями 66/67 или использовать режим ProxyDHCP, который поддерживают, например, dnsmasq и WDS.

Работает ли PXE через Wi-Fi?

Как правило, нет: стандартный PXE реализован в прошивке проводных сетевых адаптеров. Беспроводная загрузка возможна только на отдельных корпоративных решениях и не является массово поддерживаемой функцией.

Можно ли установить по сети Windows на обычный домашний ПК?

Да, если сетевая карта поддерживает PXE и в сети есть настроенный сервер. Для разовой установки проще загрузочная флешка, но для нескольких машин сетевой вариант заметно экономит время.

Что делать, если клиент видит сервер, но установка обрывается на этапе копирования файлов?

Возможная причина — недоступность сетевого ресурса с дистрибутивом или отсутствие драйвера сетевой карты в загрузочном образе. Проверьте права на общую папку с файлами установки и добавьте сетевые драйверы в boot-образ через dism.

Чем iPXE лучше стандартного PXE?

iPXE поддерживает загрузку по HTTP/HTTPS, скрипты, меню и аутентификацию. Это быстрее TFTP и гибче, но требует либо прошивки iPXE в цепочку загрузки, либо начальной загрузки iPXE через обычный PXE.