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

PXE-загрузка Ubuntu с Windows Server 2008

• 10 min read • Инфраструктура • Обновлено 23 Nov 2025
PXE-загрузка Ubuntu с Windows Server 2008
PXE-загрузка Ubuntu с Windows Server 2008

Как PXE-загрузить образ Ubuntu с Windows Server 2008

TL;DR

PXE-загрузка позволяет запускать Ubuntu со статического образа, раздаваемого с Windows Server 2008 (через WDS + pxelinux + NFS). За несколько шагов вы установите WDS, скопируете бинарники pxelinux в каталог раздачи, настроите меню загрузки, расшарите NFS-папку и подготовите кастомный LiveCD (с помощью виртуальной машины и Remastersys). В статье — подробный план действий, чеклисты, сценарии тестирования и рекомендации по безопасности.

Быстрая навигация

  • Почему это нужно
  • Требования
  • Создание и настройка WDS
  • Установка pxelinux
  • Конфигурация PXElinux
  • Создание NFS-шары
  • Создание и кастомизация Ubuntu Live CD
  • Методология развёртывания и тесты
  • Рекомендации по безопасности и отладке

Почему это нужно

PXE-загрузка упрощает и удешевляет управление парком компьютеров: тонкие клиенты или дисклесс-терминалы загружаются с единого образа. Это удобно для учебных классов, лабораторий, киосков, тестовой среды или диагностических станций. Раздача Ubuntu с Windows Server позволяет централизовать образы Windows и Linux в одной сети.

Важно: PXE опирается на DHCP и сетевую инфраструктуру; перед настройкой убедитесь, что сеть позволяет PXE-загрузку и что IP-адреса/маршрутизация настроены корректно.

Что потребуется

  • Windows Server 2008 с ролью Windows Deployment Services (WDS)
  • DHCP-сервер в сети (может быть на том же или другом сервере)
  • Клиентские машины с поддержкой PXE (BIOS или UEFI с PXE)
  • NFS-сервер (в этой инструкции предполагается, что NFS-инстанс размещён на том же Windows Server)
  • Набор утилит syslinux (для pxelinux)
  • Утилиты для извлечения ISO на сервере (например, PowerISO) и инструменты на клиенте (rpcbind, nfs-common)
  • Виртуальная машина (VirtualBox) для создания или кастомизации образа Ubuntu

Ключевые понятия (1‑строчная глоссарная справка)

  • PXE: сетевой протокол для загрузки исполняемых образов по сети через DHCP/TFTP.
  • WDS: роль Windows Server для развертывания образов по сети.
  • pxelinux: загрузчик из пакета syslinux, предоставляющий меню и возможности загрузки Linux через PXE.
  • NFS: сетевой файловый протокол, используемый здесь для предоставления корневой файловой системы LiveCD.

Создание WDS-сервера

Установка WDS выполняется стандартными средствами Windows Server (Server Manager). При выборе компонентов отметьте оба сервиса: Deployment Server и Transport Server.

Важно: при настройке роли выберите опцию “Respond to all (known and unknown) client computers” (Отвечать всем клиентам), если у вас нет возможности заранее зарегистрировать все MAC-адреса в Active Directory. Иначе сервер будет отвергать неизвестные устройства.

Следуйте официальным инструкциям Microsoft для установки WDS на Windows Server 2008 и 2008 R2.

![Установка WDS и файловая структура сервера] (https://static1.howtogeekimages.com/wordpress/wp-content/uploads/2013/05/image0014.jpg)

Примечание: далее мы будем добавлять Linux-образы через pxelinux, а не через механизм добавления образов WDS.

Установка pxelinux (syslinux)

  1. Скачайте и распакуйте syslinux (версия 5.01 или совместимая).
  2. Скопируйте необходимые файлы pxelinux в директорию раздачи WDS для нужной архитектуры (например, \RemoteInstall\Boot\x64 или \RemoteInstall\Boot\x86).

Требуемые файлы (пример для pxelinux 5.01):

  • Core/pxelinux.0
  • Com32/menu/vesamenu.c32
  • Com32/lib/libcom32.c32
  • Com32/elflink/ldlinux.c32
  • Com32/libutil/libutil.c32
  • Com32/chain/chain.c32

После копирования папка архитектуры должна содержать pxelinux.0 и вспомогательные C32-модули.

![Структура директорий с файлами pxelinux] (https://static1.howtogeekimages.com/wordpress/wp-content/uploads/2013/05/image0026.jpg)

После переноса ненужные файлы syslinux можно удалить.

Конфигурация PXElinux

pxelinux позволяет строить гибкие меню загрузки и выбирать конфигурацию по MAC/IP/типу оборудования. Для базовой загрузки LiveCD выполните следующие шаги.

  1. В каталоге архитектуры создайте подпапку pxelinux.cfg.
  2. Рядом можно создать папку Images/ для хранения Linux-образов.
  3. В pxelinux.cfg создайте файл с именем default (без расширения).

Пример содержимого файла default (приведено как корректный Markdown код-блок, сохраните как обычный текст):

DEFAULT vesamenu.c32
PROMPT 0
NOESCAPE 0
ALLOWOPTIONS 0

# Timeout в единицах 1/10 секунды
TIMEOUT 30   # 3 секунды
MENU MARGIN 10
MENU ROWS 16
MENU TABMSGROW 21
MENU TIMEOUTROW 26
MENU COLOR BORDER 30;44 #20ffffff #00000000 none
MENU COLOR SCROLLBAR 30;44 #20ffffff #00000000 none
MENU COLOR TITLE 0 #ffffffff #00000000 none
MENU COLOR SEL 30;47 #40000000 #20ffffff
MENU TITLE Netboot Menu

# Пример пункта загрузки LiveCD
LABEL Ubuntu-LIVE
  KERNEL Images/UbuntuLIVE/casper/vmlinuz   # путь до ядра
  APPEND boot=casper netboot=nfs nfsroot=:/RemoteInstall/Boot/x64/Images/UbuntuLIVE initrd=Images/UbuntuLIVE/casper/initrd.gz

Важно: замените на фактический IP вашего Windows Server и скорректируйте путь, если вы используете другую архитектуру (x86/x64).

Содержимое меню можно расширять вариантами (добавлять ядра, initrd, параметры ядра). Подробнее о синтаксисе pxelinux читайте в документации syslinux.

Подробнее и примеры: https://www.howtogeek.com/61263/how-to-network-boot-pxe-the-ubuntu-livecd/

![Пример конфигурационного файла pxelinux.cfg/default] (https://static1.howtogeekimages.com/wordpress/wp-content/uploads/2013/05/image0034.jpg)

Создание NFS-шары на Windows Server

NFS-шара на Windows Server настраивается через роли и средства управления. Основные моменты:

  • NTFS-права на папку должны предоставить группе Everyone (или соответствующей группе анонимных пользователей) права Read & Execute.
  • Сам шар должен быть NFS, а не SMB/CIFS.
  • Убедитесь, что доступ предоставлен для anonymous (анонимных) подключений, если вы используете NFS без аутентификации.

Примеры экранов управления правами и опций шары:

![Настройка NTFS-разрешений для NFS-шары] (https://static1.howtogeekimages.com/wordpress/wp-content/uploads/2013/05/image0054.jpg)

![Подтверждение предоставления права всем пользователям] (https://static1.howtogeekimages.com/wordpress/wp-content/uploads/2013/05/image0064.jpg)

![Выбор типа шары — NFS] (https://static1.howtogeekimages.com/wordpress/wp-content/uploads/2013/05/image0084.jpg)

![Настройка анонимного доступа для NFS] (https://static1.howtogeekimages.com/wordpress/wp-content/uploads/2013/05/image0104.jpg)

![Подтверждение прав анонимного пользователя] (https://static1.howtogeekimages.com/wordpress/wp-content/uploads/2013/05/image0114.jpg)

Важно: после изменения прав и настроек NFS свойства могут распространяться по сети с задержкой — подождите несколько минут и протестируйте подключение.

Тест: смонтируйте NFS-шару с тестовой машины Linux и проверьте чтение файлов.

Создание и кастомизация Ubuntu Live CD

Если вам нужна простая Live-сборка — используйте официальный ISO Ubuntu. Для кастомных настроек проще подготовить виртуальную машину, настроить её под цель и затем экспортировать ISO.

Примерный рабочий процесс (VirtualBox):

  1. Установите VirtualBox.
  2. Создайте новую виртуальную машину: Type = Linux, Version = Ubuntu (или Ubuntu (64-bit)).
  3. Выделите минимум 1024 МБ оперативной памяти.
  4. Создайте динамический виртуальный диск. Размер: минимум 4 ГБ, рекомендуется 6–8 ГБ.

![Создание виртуальной машины в VirtualBox] (https://static1.howtogeekimages.com/wordpress/wp-content/uploads/2013/05/image0134.gif)

![Выбор памяти] (https://static1.howtogeekimages.com/wordpress/wp-content/uploads/2013/05/image0154.gif)

![Создание виртуального диска VDI] (https://static1.howtogeekimages.com/wordpress/wp-content/uploads/2013/05/image0174.gif)

![Выбор размера диска — 4–8 ГБ рекомендуются] (https://static1.howtogeekimages.com/wordpress/wp-content/uploads/2013/05/image0234.gif)

  1. Подключите ISO Ubuntu (скачайте с официального сайта) как CD/DVD и установите систему.
  2. Выполните все настройки: пользователи, автологин, удаление ненужных пакетов, автозапуск нужных сервисов, скрипты xrandr и т.п.

Примеры пользовательских действий, которые авторы делали на своих образах:

  • Создать стандартного пользователя с автоматическим входом (если образ для общих пользователей).
  • Удалить ненужные приложения: Firefox, LibreOffice, Gwibber, Thunderbird, empathy и игры (aptitude purge или Synaptic).
  • Добавить автозапуск для приложений (через “Startup Applications”).
  • Изменить разрешение экрана или отключать встроенный дисплей с помощью xrandr-скриптов.

Пример скрипта xrandr (сделайте файл исполняемым и добавьте в автозапуск):

#!/bin/bash
xrandr --output LVDS1 --off
xrandr --output VGA1 --primary --mode 1280x1024

Примечание: имена выходов (LVDS1, VGA1) зависят от модели клиента; при наличии разных моделей потребуется логика определения в скрипте.

Упаковывание образа: Remastersys

Remastersys позволяет собрать ISO из настроенной установки.

Шаги установки и создания образа:

  1. Установите Synaptic: sudo apt-get install synaptic
  2. Добавьте GPG-ключ репозитория Remastersys:
sudo wget -O - http://www.remastersys.com/Ubuntu/remastersys.gpg.key | sudo apt-key add -
  1. Добавьте в /etc/apt/sources.list строку (замените precise на вашу версию, если нужно):
deb http://www.remastersys.com/ubuntu precise main
  1. Обновите списки, откройте Synaptic и установите пакеты remastersys и remastersys-gui.
  2. Запустите Remastersys GUI и выберите Backup. В результате получите кастомный ISO (custom-back.iso).

Важно: Remastersys в основном ориентирован на старые версий Ubuntu; при использовании более новых выпусков рассмотрите альтернативы (например, Cubic, live-build), см. раздел “Альтернативные подходы”.

Перенос образа на сервер и развёртывание

  1. На Ubuntu VM установите NFS-клиент:
sudo apt-get install rpcbind nfs-common
  1. Создайте точку монтирования: sudo mkdir /NFS

  2. Смонтируйте NFS-шару с правами записи: sudo mount :/ /NFS Пример: sudo mount 192.168.1.24:/TempNFS /NFS

  3. Скопируйте ISO: sudo cp /home/remastersys/remastersys/custom-back.iso /NFS

  4. На Windows Server извлеките содержимое ISO в папку \RemoteInstall\Boot\x64\Images\MyCustomUbuntu (или в аналогичный каталог под вашей архитектурой) с помощью PowerISO или другого инструмента.

  5. В pxelinux.cfg/default добавьте пункт, указывающий KERNEL и initrd из извлечённого ISO, и параметр nfsroot, указывающий на путь каталога образа.

  6. Перезагрузите клиент и выберите пункт меню загрузки.

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

Методология развёртывания: пошаговый SOP

  1. Подготовка сети
  • Убедиться, что DHCP работает и не конфликтует с WDS.
  • Проверить, что TFTP порт 69 и NFS порты открыты на межсетевом экране между сервером и клиентами (если применимо).
  1. Установка WDS
  • Установить роль, включить Deployment и Transport Server.
  • Проверить служебные каталоги \RemoteInstall.
  1. pxelinux
  • Скопировать pxelinux.0 и C32-модули.
  • Создать pxelinux.cfg/default и протестировать простейшую запись boot.
  1. NFS
  • Создать NFS-шару, настроить NTFS-разрешения.
  • Тестировать монтирование с Linux-клиента.
  1. Образ
  • Подготовить и запаковать образ локально.
  • Копировать ISO на NFS и распаковать в Images/.
  1. Тестирование
  • Проверить загрузку с нескольких моделей клиентов.
  • Откат: вернуть оригинальные файлы pxelinux при критических ошибках.

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

  • Клиент успешно PXE-загружает меню pxelinux.
  • Пункт загрузки «Ubuntu-LIVE» инициирует загрузку ядра и initrd.
  • Клиент монтирует NFS-корень и завершает инициализацию Live-системы.
  • Время загрузки в пределах ожидаемого для сети (оценка: зависит от пропускной способности).

Ролевые чек-листы

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

  • Проверить настройки DHCP и отсутствие конфликтов.
  • Обеспечить маршрутизацию и доступность TFTP/NFS.
  • Настроить брандмауэр и NTFS-права для NFS.

Системный администратор Windows

  • Установить WDS и убедиться в доступности \RemoteInstall.
  • Скопировать и поддерживать версии pxelinux в каталоге загрузки.

Linux-инженер / Создатель образов

  • Подготовить и протестировать виртуальную машину с нужными пакетами.
  • Собрать ISO (Remastersys или альтернатива), проверить автологин и автозапуск.
  • Тестировать монтаж NFS и запуск службы на клиенте.

Оператор тестовой среды / Пользователь

  • Тестировать загрузки на разных моделях устройств.
  • Составить отчёт об ошибках и логах dmesg / kernel messages.

Тестовые случаи и приёмка

  • TC1: PXE-загрузка чистого клиента — ожидаемый результат: появляется меню pxelinux.
  • TC2: Выбор “Ubuntu-LIVE” — ожидаемый результат: загрузка ядра, подключение к NFS, появление рабочего стола.
  • TC3: Неправильный путь nfsroot — ожидаемый результат: ядро загружается, но initrd не монтируется (лог в консоли).
  • TC4: Повторная загрузка множества клиентов — ожидаемый результат: стабильная работа сети, без блокировок файловой системы.

Отладка и распространённые проблемы

  • Клиент не получает IP через PXE: проверьте DHCP и опции PXE.
  • pxelinux.0 не загружается: убедитесь, что файл доступен в каталоге WDS и корректно сконфигурирован.
  • Ошибка монтирования NFS: проверьте права NTFS и настройки анонимного доступа; проверьте лог на Windows и вывод mount на клиенте.
  • Разные модели тонких клиентов имеют различные имена видеовыходов — xrandr-скрипт может не работать; добавьте логику для определения подключённого вывода.

Безопасность и надежность

  • Ограничьте доступ к NFS-шаре по IP-адресам или VLAN, если это возможно.
  • Рассмотрите использование read-only шара для основного образа и отдельной записи для временных операций.
  • Мониторьте загрузку сети и серверных дисков при массовом PXE-запуске.
  • Регулярно обновляйте образы и пакеты безопасности в образе Ubuntu.

Важно: NFS v3/4 сам по себе не обеспечивает шифрование; если конфиденциальность трафика важна, используйте VPN или защитную сетевую сегрегацию.

Альтернативные подходы и когда это не подходит

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

  • Использование iSCSI для сетевой загрузки корневой FS (подходит для более статичных систем).
  • Использование WIM/Windows-образов для Windows-клиентов и отдельно Linux-образов через другое решение.
  • Использование специализированных решений для управления тонкими клиентами (LTSP, ThinStation).

Когда PXE+NFS не подходит:

  • Когда требуется шифрование всего трафика между сервером и клиентом без VPN.
  • При очень высокой нагрузке на сеть и диски — необходимо масштабирование (балансировка, кеширование).
  • Если клиенты работают через DHCP, которое вы не контролируете, конфликты или проксирование PXE могут помешать.

Совместимость и миграция

  • Для UEFI‑клиентов потребуется адаптация: UEFI PXE-boot использует другую последовательность — возможно, потребуется grub или другая конфигурация.
  • Архитектуры x86 и x64 хранятся в отдельных папках; не смешивайте файлы между ними.

Примеры команд и полезный чек-лист команд

  • Установить NFS клиент: sudo apt-get install rpcbind nfs-common
  • Смонтировать NFS: sudo mount 192.168.1.24:/TempNFS /NFS
  • Скопировать ISO на шар: sudo cp /path/to/custom-back.iso /NFS
  • Добавить ключ remastersys: sudo wget -O - http://www.remastersys.com/Ubuntu/remastersys.gpg.key | sudo apt-key add -

Короткая галерея возможных пограничных случаев

  • Несовместимость Remastersys с очень новыми релизами Ubuntu — используйте альтернативные инструменты.
  • Модель thin-client с именами видеовыходов, отличными от LVDS1/VGA1 — xrandr-скрипт не сработает.
  • NFS права выглядят корректно, но анонимный доступ блокируется политиками домена — проверьте группу и маппинг анонимных пользователей.

Резюме

  • PXE + pxelinux + NFS — надёжный способ централизованной раздачи Ubuntu с Windows Server 2008.
  • Подготовка образа в VM и упаковка с помощью Remastersys позволяют быстро создать кастомный LiveCD с автологином и преднастроенным окружением.
  • Тщательно протестируйте сеть, права доступа и поведение на разных моделях клиентов.

Ключевые действия: установить WDS, добавить pxelinux, создать pxelinux.cfg, настроить NFS и подготовить кастомный ISO.

Контакты и дополнительные ресурсы

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

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

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро