Сетевая загрузка PXE: руководство по массовой установке ОС на рабочие станции

Сетевая загрузка PXE: руководство по массовой установке ОС на рабочие станции апр, 25 2026

Представьте, что вам нужно подготовить к работе сто новых ноутбуков. Можно потратить два дня, бегая с одной флешкой от одного стола к другому, а можно нажать пару кнопок в консоли сервера и запустить процесс на всех машинах одновременно. Именно для этого создана технология PXE (Preboot Execution Environment) - стандарт, который позволяет компьютеру загружаться по сети, даже если на нем нет жесткого диска или установленной операционной системы. Это база для любого системного администратора, который хочет перестать заниматься рутиной и перейти к автоматизации развертывания инфраструктуры.

Как на самом деле работает PXE загрузка

В отличие от привычного старта с SSD или USB, при сетевой загрузке управление передается сетевой карте. Процесс выглядит как четкая цепочка действий: компьютер включается, BIOS или UEFI активирует стек PXE, и машина начинает "кричать" в сеть, запрашивая помощь.

Сначала в дело вступает DHCP-сервер, который выдает клиенту IP-адрес и, что самое важное, указывает путь к загрузочному файлу и адрес сервера, где этот файл лежит. Затем компьютер обращается к TFTP-серверу (Trivial File Transfer Protocol) - максимально простому протоколу, который передает маленькую программу сетевой загрузки (NBP) прямо в оперативную память клиента. Как только эта программа запускается, она берет на себя управление и начинает скачивать основной образ операционной системы или установщик.

Сценарии использования: от офисных ПК до IoT

Массовая установка ОС - это лишь верхушка айсберга. Если вы управляете парком рабочих станций, PXE пригодится вам в нескольких ключевых сценариях:

  • Автоматическое развертывание: Установка стандартного набора ПО и настроек на сотни машин без участия человека.
  • Диагностика и восстановление: Загрузка специализированных утилит (например, для проверки памяти или восстановления данных), когда основная ОС вышла из строя.
  • Бездисковые станции (Diskless): Использование тонких клиентов, которые вообще не имеют накопителей и загружают систему с сервера при каждом включении.
  • Обновление прошивок: Удаленное обновление BIOS или UEFI на большом количестве серверов в дата-центре.
  • HPC-кластеры: В системах высокопроизводительных вычислений узлы часто грузятся по сети для обеспечения идентичности среды выполнения.

Поднимаем PXE-сервер на Linux: технический минимум

Для создания полноценного узла развертывания на базе Linux (например, CentOS или Fedora) вам понадобится связка из нескольких сервисов. Начнем с установки необходимых пакетов. В современных дистрибутивах это делается одной командой: dnf install dhcp tftp-server httpd syslinux-tftpboot.

Ключевой момент здесь - правильная настройка DHCP. В конфигурационном файле обязательно должны быть директивы authoritative (чтобы сервер считался главным в сети) и параметры времени аренды (default-lease-time 3600), чтобы адреса не занимались навечно. Также нужно указать параметр next-server - это IP вашего TFTP-сервера.

Сами файлы загрузки обычно хранятся в /var/lib/pxe/tftpboot. Однако TFTP очень медленный. Чтобы установка ОС не растянулась на часы, профессионалы используют HTTP-сервер (например, Apache) для передачи тяжелых образов. В этом случае TFTP передает только крошечный загрузчик, который затем переключает клиента на быстрый HTTP-протокол для скачивания основного дистрибутива из каталога /var/lib/pxe/http.

Схематичная иллюстрация передачи данных от сервера к компьютерам через DHCP и TFTP

Развертывание в среде Windows: путь через WDS

Если ваша инфраструктура построена на Windows, ручная настройка TFTP может показаться излишне сложной. Для этого существует Windows Deployment Services (WDS) - комплексное решение, которое объединяет в себе и PXE-сервер, и хранилище образов.

Для старта вам понадобится пакет Windows ADK (Assessment and Deployment Kit) и надстройка Windows PE. Логика работы здесь следующая: клиент запрашивает IP, получает от DHCP параметры 066 (имя сервера) и 067 (имя файла, обычно boot.wim), скачивает его и запускает среду WinPE. Из этой среды уже начинается полноценная установка Windows 10 или Windows Server 2016 на жесткий диск.

Сравнение подходов к реализации сетевой загрузки
Критерий Самосборный Linux PXE Windows Deployment Services (WDS)
Сложность настройки Выше (ручная правка конфигов) Ниже (графический интерфейс)
Гибкость Максимальная (любые ОС) Ориентирована на экосистему MS
Скорость передачи Зависит от использования HTTP Оптимизирована под Multicast
Требования к лицензиям Бесплатно (Open Source) Требуется лицензия Windows Server

Автоматизация установки: Kickstart и ответы

Просто запустить установщик по сети - это полдела. Если вам нужно поставить ОС на 100 машин, вы не захотите 100 раз вручную выбирать язык, часовой пояс и создавать пользователя. Здесь вступают в игру файлы ответов.

В мире Linux стандартом является Kickstart. Это текстовый файл, в котором заранее прописаны все ответы для установщика: разметка диска, пароль администратора и список пакетов. Сервер PXE просто передает путь к этому файлу клиенту, и установка проходит в режиме "поставил и забыл".

Для Windows используется аналогичный механизм - файлы unattend.xml. Они позволяют полностью автоматизировать процесс развертывания, включая установку драйверов сетевых карт, чтобы машина могла сразу после перезагрузки подключиться к домену.

Сетевой коммутатор с активными портами и монитор с конфигурацией автоматической установки

Подводные камни и советы по оптимизации

Сетевая загрузка кажется магией, пока вы не сталкиваетесь с первыми проблемами. Вот несколько реальных кейсов, на которых обжигаются новички:

  1. Конфликт DHCP: Если в сети есть другой DHCP-сервер (например, ваш роутер), клиент может получить IP от него, но не получить данные о PXE-сервере. Решение - либо настроить один сервер, либо использовать DHCP-прокси.
  2. UEFI vs Legacy: Современные компьютеры используют UEFI. Для них нужны другие загрузочные файлы (например, grubx64.efi вместо pxelinux.0). Если сервер настроен только под Legacy, новые ноутбуки просто не увидят загрузку по сети.
  3. Сетевой шторм: Когда 50 машин одновременно начинают качать образ Windows весом в 5 ГБ, ваша сеть может просто "лечь". Используйте Multicast (многоадресную рассылку), чтобы сервер отправлял одну копию данных, которую слушали бы все клиенты сразу.
  4. Ограничения TFTP: Этот протокол крайне медленный. Если вы видите, что загрузка ядра длится вечность, переходите на схему PXE → TFTP → HTTP.

Для более сложных задач, когда нужно не просто установить систему, а клонировать диск со всеми установленными программами и настройками, рекомендую посмотреть в сторону Clonezilla. Она отлично работает через PXE и позволяет буквально "снять слепок» с эталонного компьютера и раскатать его по всей сети.

Нужен ли жесткий диск на клиенте для работы PXE?

Нет, в этом и заключается главная особенность. PXE позволяет загружать операционную систему прямо в оперативную память (RAM-диск). Это используется в тонких клиентах или при установке ОС на новый пустой диск.

Что делать, если компьютер не видит сетевую загрузку в BIOS?

Проверьте, включена ли опция "Network Stack" или "PXE Boot" в настройках BIOS/UEFI. Также убедитесь, что сетевой адаптер установлен в приоритет загрузки (Boot Priority) перед жестким диском.

Можно ли установить Linux и Windows одновременно через один PXE-сервер?

Да, для этого используется многозагрузочный менеджер, такой как Syslinux или GRUB. После загрузки по сети пользователь увидит меню с выбором: какую именно ОС он хочет установить или запустить.

В чем разница между TFTP и HTTP при загрузке?

TFTP - это максимально простой протокол без авторизации и подтверждения доставки каждого пакета, он идеален для передачи крошечных файлов (до нескольких мегабайт). HTTP гораздо быстрее и надежнее, поэтому его используют для передачи тяжелых образов ОС после того, как первичный загрузчик уже получен через TFTP.

Безопасно ли использовать PXE в открытых сетях?

Это небезопасно. Протоколы DHCP и TFTP не шифруют данные. Любой человек в сети может подменить ответ DHCP-сервера и заставить вашу машину загрузить вредоносный код. Используйте PXE только в изолированных VLAN или доверенных корпоративных сетях.

Что делать дальше: план действий

Если вы решили внедрить сетевую загрузку, не пытайтесь сразу настроить всё для всего офиса. Начните с малого:

  • Для новичков: Поднимите виртуальную машину с Linux, установите пакеты DHCP и TFTP, и попробуйте загрузить простую консольную оболочку на одном тестовом ноутбуке.
  • Для Windows-админов: Разверните роль WDS на пробном сервере Windows Server и настройте интеграцию с существующим DHCP.
  • Для профи: Настройте связку с HTTP-сервером и создайте Kickstart-файлы для полной автоматизации развертывания вашего стандартного рабочего образа.

Если в процессе настройки вы столкнулись с тем, что клиент получает IP, но зависает на этапе TFTP Timeout, первым делом проверьте брандмауэр (firewall) на сервере - порты 67 (DHCP) и 69 (TFTP) должны быть открыты.